simplify the readable and writable traits a bit
This commit is contained in:
1 parent
c172914b21
commit
6bc0332052
7 files changed
+20
-49
No files matched your search
@@ -51,7 +51,7 @@ impl<T: PartialEq + 'static> GlobalMemo<T> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: PartialEq + 'static> crate::ReadableRef for GlobalMemo<T> {
|
||||
impl<T: PartialEq + 'static> Readable<T> for GlobalMemo<T> {
|
||||
type Ref<R: ?Sized + 'static> = generational_box::GenerationalRef<std::cell::Ref<'static, R>>;
|
||||
|
||||
fn map_ref<I, U: ?Sized, F: FnOnce(&I) -> &U>(ref_: Self::Ref<I>, f: F) -> Self::Ref<U> {
|
||||
@@ -64,9 +64,7 @@ impl<T: PartialEq + 'static> crate::ReadableRef for GlobalMemo<T> {
|
||||
) -> Option<Self::Ref<U>> {
|
||||
<UnsyncStorage as AnyStorage>::try_map(ref_, f)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: PartialEq + 'static> Readable<T> for GlobalMemo<T> {
|
||||
#[track_caller]
|
||||
fn read(&self) -> Self::Ref<T> {
|
||||
self.signal().read()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use crate::read::Readable;
|
||||
use crate::write::Writable;
|
||||
use crate::WritableRef;
|
||||
use crate::Write;
|
||||
use dioxus_core::prelude::{IntoAttributeValue, ScopeId};
|
||||
use generational_box::{AnyStorage, GenerationalRef, UnsyncStorage};
|
||||
@@ -70,7 +69,7 @@ impl<T: 'static> GlobalSignal<T> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> crate::ReadableRef for GlobalSignal<T> {
|
||||
impl<T: 'static> Readable<T> for GlobalSignal<T> {
|
||||
type Ref<R: ?Sized + 'static> = generational_box::GenerationalRef<std::cell::Ref<'static, R>>;
|
||||
|
||||
fn map_ref<I, U: ?Sized, F: FnOnce(&I) -> &U>(ref_: Self::Ref<I>, f: F) -> Self::Ref<U> {
|
||||
@@ -83,9 +82,7 @@ impl<T: 'static> crate::ReadableRef for GlobalSignal<T> {
|
||||
) -> Option<Self::Ref<U>> {
|
||||
<UnsyncStorage as AnyStorage>::try_map(ref_, f)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> Readable<T> for GlobalSignal<T> {
|
||||
#[track_caller]
|
||||
fn read(&self) -> Self::Ref<T> {
|
||||
self.signal().read()
|
||||
@@ -97,7 +94,7 @@ impl<T: 'static> Readable<T> for GlobalSignal<T> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> WritableRef for GlobalSignal<T> {
|
||||
impl<T: 'static> Writable<T> for GlobalSignal<T> {
|
||||
type Mut<R: ?Sized + 'static> = Write<R, UnsyncStorage>;
|
||||
|
||||
fn map_mut<I, U: ?Sized + 'static, F: FnOnce(&mut I) -> &mut U>(
|
||||
@@ -113,9 +110,7 @@ impl<T: 'static> WritableRef for GlobalSignal<T> {
|
||||
) -> Option<Self::Mut<U>> {
|
||||
Write::filter_map(ref_, f)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> Writable<T> for GlobalSignal<T> {
|
||||
#[track_caller]
|
||||
fn try_write(&self) -> Result<Self::Mut<T>, generational_box::BorrowMutError> {
|
||||
self.signal().try_write()
|
||||
|
||||
Reference in new issue
Block a user