fix serializing signals
This commit is contained in:
1 parent
87dc409837
commit
55b37cc381
3 files changed
+29
-7
No files matched your search
@@ -15,6 +15,26 @@ impl<T: 'static, S: Storage<SignalData<T>>> From<Signal<T, S>> for ReadOnlySigna
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "serde")]
|
||||
impl<T: serde::Serialize + 'static, Store: Storage<SignalData<T>>> serde::Serialize
|
||||
for ReadOnlySignal<T, Store>
|
||||
{
|
||||
fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
|
||||
self.read().serialize(serializer)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "serde")]
|
||||
impl<'de, T: serde::Deserialize<'de> + 'static, Store: Storage<SignalData<T>>>
|
||||
serde::Deserialize<'de> for ReadOnlySignal<T, Store>
|
||||
{
|
||||
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
|
||||
Ok(Self::new_maybe_sync(Signal::new_maybe_sync(
|
||||
T::deserialize(deserializer)?,
|
||||
)))
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> ReadOnlySignal<T> {
|
||||
/// Create a new read-only signal.
|
||||
#[track_caller]
|
||||
|
||||
Reference in new issue
Block a user