mirror of
https://github.com/Zenithsiz/dynatos.git
synced 2026-02-08 21:09:52 +00:00
Moved dynatos_reactive::IntoSubscriber to crate root.
This commit is contained in:
@@ -78,3 +78,20 @@ pub trait SignalUpdate {
|
||||
where
|
||||
F: FnOnce(&mut Self::Value) -> O;
|
||||
}
|
||||
|
||||
/// Types that may be converted into a subscriber
|
||||
pub trait IntoSubscriber {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()>;
|
||||
}
|
||||
|
||||
#[duplicate::duplicate_item(
|
||||
T body;
|
||||
[ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ &'_ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ WeakEffect<dyn Fn()> ] [ self ];
|
||||
)]
|
||||
impl IntoSubscriber for T {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()> {
|
||||
body
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
// Imports
|
||||
use {
|
||||
crate::{effect, Effect, SignalReplace, SignalSet, SignalUpdate, SignalWith, Trigger, WeakEffect},
|
||||
crate::{effect, SignalReplace, SignalSet, SignalUpdate, SignalWith, Trigger},
|
||||
std::{cell::RefCell, fmt, marker::Unsize, mem, ops::CoerceUnsized, rc::Rc},
|
||||
};
|
||||
|
||||
@@ -115,20 +115,3 @@ impl<T: fmt::Debug> fmt::Debug for Signal<T> {
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
/// Types that may be converted into a subscriber
|
||||
pub trait IntoSubscriber {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()>;
|
||||
}
|
||||
|
||||
#[duplicate::duplicate_item(
|
||||
T body;
|
||||
[ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ &'_ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ WeakEffect<dyn Fn()> ] [ self ];
|
||||
)]
|
||||
impl IntoSubscriber for T {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()> {
|
||||
body
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
// Imports
|
||||
use {
|
||||
crate::{Effect, WeakEffect},
|
||||
crate::{IntoSubscriber, WeakEffect},
|
||||
std::{cell::RefCell, collections::HashSet, fmt, rc::Rc},
|
||||
};
|
||||
|
||||
@@ -90,28 +90,12 @@ impl fmt::Debug for Trigger {
|
||||
}
|
||||
}
|
||||
|
||||
/// Types that may be converted into a subscriber
|
||||
pub trait IntoSubscriber {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()>;
|
||||
}
|
||||
|
||||
#[duplicate::duplicate_item(
|
||||
T body;
|
||||
[ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ &'_ Effect<dyn Fn()> ] [ self.downgrade() ];
|
||||
[ WeakEffect<dyn Fn()> ] [ self ];
|
||||
)]
|
||||
impl IntoSubscriber for T {
|
||||
fn into_subscriber(self) -> WeakEffect<dyn Fn()> {
|
||||
body
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
// Imports
|
||||
use {
|
||||
super::*,
|
||||
crate::Effect,
|
||||
std::{cell::Cell, mem},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user