Skip to content

Commit 2244563

Browse files
committed
upgrate bincode from 1.x to 2.0.0-rc.3
1 parent 1707f03 commit 2244563

File tree

7 files changed

+58
-19
lines changed

7 files changed

+58
-19
lines changed

Cargo.lock

Lines changed: 32 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/yew-agent/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ wasm-bindgen = "0.2"
1717
js-sys = "0.3"
1818
pinned = "0.1.0"
1919
thiserror = "1.0.37"
20-
bincode = { version = "1.3.3" }
20+
bincode = { version = "2.0.0-rc.3", features = ["serde"] }
2121
wasm-bindgen-futures = "0.4"
2222
serde = { version = "1", features = ["derive"] }
2323
futures = "0.3"

packages/yew-agent/src/codec.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ impl Codec for Bincode {
2626
where
2727
I: Serialize,
2828
{
29-
let buf = bincode::serialize(&input).expect("can't serialize an worker message");
29+
let buf = bincode::serde::encode_to_vec(&input, bincode::config::standard())
30+
.expect("can't serialize an worker message");
3031
Uint8Array::from(buf.as_slice()).into()
3132
}
3233

@@ -35,6 +36,8 @@ impl Codec for Bincode {
3536
O: for<'de> Deserialize<'de>,
3637
{
3738
let data = Uint8Array::from(input).to_vec();
38-
bincode::deserialize(&data).expect("can't deserialize an worker message")
39+
let (result, _) = bincode::serde::decode_from_slice(&data, bincode::config::standard())
40+
.expect("can't deserialize an worker message");
41+
result
3942
}
4043
}

packages/yew/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ futures = { version = "0.3", default-features = false, features = ["std"] }
2929
html-escape = { version = "0.2.13", optional = true }
3030
implicit-clone = { version = "0.5", features = ["map"] }
3131
base64ct = { version = "1.6.0", features = ["std"], optional = true }
32-
bincode = { version = "1.3.3", optional = true }
32+
bincode = { version = "2.0.0-rc.3", optional = true, features = ["serde"] }
3333
serde = { version = "1", features = ["derive"] }
3434
tracing = "0.1.40"
3535
tokise = "0.2.0"

packages/yew/src/functional/hooks/use_prepared_state/feat_hydration.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,15 @@ where
9090
.await
9191
.expect("failed to deserialize state");
9292

93-
let (state, deps) =
94-
bincode::deserialize::<(Option<T>, Option<D>)>(&buf)
95-
.map(|(state, deps)| (state.map(Rc::new), deps.map(Rc::new)))
96-
.expect("failed to deserialize state");
93+
let ((state, deps), _) =
94+
bincode::serde::decode_from_slice::<(Option<T>, Option<D>), _>(
95+
&buf,
96+
bincode::config::standard(),
97+
)
98+
.map(|((state, deps), consumed)| {
99+
((state.map(Rc::new), deps.map(Rc::new)), consumed)
100+
})
101+
.expect("failed to deserialize state");
97102

98103
data.set((Ok((state, deps)), None));
99104
});

packages/yew/src/functional/hooks/use_prepared_state/mod.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,11 @@ mod feat_any_hydration_ssr {
129129
fn prepare(&self) -> String {
130130
use base64ct::{Base64, Encoding};
131131

132-
let state = bincode::serialize(&(self.state.as_deref(), self.deps.as_deref()))
133-
.expect("failed to prepare state");
132+
let state = bincode::serde::encode_to_vec(
133+
(self.state.as_deref(), self.deps.as_deref()),
134+
bincode::config::standard(),
135+
)
136+
.expect("failed to prepare state");
134137

135138
Base64::encode_string(&state)
136139
}

packages/yew/src/functional/hooks/use_transitive_state/feat_ssr.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ where
3030
let f = self.state_fn.borrow_mut().take().unwrap();
3131
let state = f(self.deps.clone());
3232

33-
let state = bincode::serialize(&(Some(&state), Some(&*self.deps)))
34-
.expect("failed to prepare state");
33+
let state = bincode::serde::encode_to_vec(
34+
(Some(&state), Some(&*self.deps)),
35+
bincode::config::standard(),
36+
)
37+
.expect("failed to prepare state");
3538

3639
Base64::encode_string(&state)
3740
}

0 commit comments

Comments
 (0)