clean up some core context APIs

This commit is contained in:
Evan Almloff committed 2024-01-11 17:21:13 -06:00
1 parent d51b6268eb
commit 6c29e2b825
4 files changed
+7 -7

No files matched your search

+2 -2
View File
@@ -38,8 +38,8 @@ pub fn has_context<T: 'static + Clone>() -> Option<T> {
}
/// Provide context to the current scope
pub fn provide_context<T: 'static + Clone>(value: T) -> Option<T> {
with_current_scope(|cx| cx.provide_context(value))
pub fn provide_context<T: 'static + Clone>(value: T) -> T {
with_current_scope(|cx| cx.provide_context(value)).expect("to be in a dioxus runtime")
}
/// Provide a context to the root scope
+2 -2
View File
@@ -338,8 +338,8 @@ impl ScopeId {
}
/// Provide context to the current scope
pub fn provide_context<T: 'static + Clone>(self, value: T) -> Option<T> {
with_scope(self, |cx| cx.provide_context(value))
pub fn provide_context<T: 'static + Clone>(self, value: T) -> T {
with_scope(self, |cx| cx.provide_context(value)).expect("to be in a dioxus runtime")
}
/// Suspends the current component
+2 -2
View File
@@ -33,7 +33,7 @@ fn current_owner() -> Rc<Owner> {
Some(rt) => rt,
None => {
let owner = Rc::new(current_store().owner());
provide_context(owner).expect("in a virtual dom")
provide_context(owner)
}
},
}
@@ -44,7 +44,7 @@ fn owner_in_scope(scope: ScopeId) -> Rc<Owner> {
Some(rt) => rt,
None => {
let owner = Rc::new(current_store().owner());
scope.provide_context(owner).expect("in a virtual dom")
scope.provide_context(owner)
}
}
}
+1 -1
View File
@@ -85,7 +85,7 @@ fn current_unsubscriber() -> Unsubscriber {
scope: current_scope_id().expect("in a virtual dom"),
subscribers: Default::default(),
};
provide_context(owner).expect("in a virtual dom")
provide_context(owner)
}
}
}