Skip to content

Commit 95ee053

Browse files
committed
feat!: features of frender-context
1 parent d280f5a commit 95ee053

File tree

5 files changed

+22
-12
lines changed

5 files changed

+22
-12
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/frender-context/Cargo.toml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,20 @@ version = "0.1.0"
44
edition = "2021"
55

66
[dependencies]
7-
frender-html = { version = "0.1.0", path = "../frender-html", default-features = false }
8-
frender-ssr = { version = "0.1.0", path = "../frender-ssr", default-features = false }
7+
# csr
8+
frender-csr = { version = "0.1.0", path = "../frender-csr", optional = true, features = [
9+
"experimental",
10+
] }
11+
# ssr
12+
frender-ssr = { version = "0.1.0", path = "../frender-ssr", optional = true }
13+
# hooks
914
hooks = { version = "3.0.0-alpha.11", default-features = false, optional = true, features = [
1015
"Signal",
1116
] }
12-
pin-project-lite = "0.2.14"
17+
# csr | hooks
18+
pin-project-lite = { version = "0.2.14", optional = true }
1319

1420
[features]
15-
hooks = ["dep:hooks"]
21+
hooks = ["dep:hooks", "dep:pin-project-lite"]
22+
csr = ["dep:frender-csr", "dep:pin-project-lite"]
23+
ssr = ["dep:frender-ssr"]

packages/frender-context/src/element.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
use frender_ssr::SsrElement;
2-
31
use crate::{ContextKey, ContextKeyInner};
42

53
// TODO: `state_unmount()` doesn't get the correct context value. Is this a problem?
6-
pub mod csr;
4+
#[cfg(feature = "csr")]
5+
mod csr;
6+
#[cfg(feature = "ssr")]
77
mod ssr;
88

99
impl<T, Inner: ContextKeyInner<Value = T>> ContextKey<Inner> {
1010
/// Shortcut for <code>CTX.[value](Self::value)(value).[children](ElementWithContext::children)(get_element)</code>
11-
pub fn provide<E: SsrElement, FE: FnOnce() -> E>(
11+
pub fn provide<E, FE: FnOnce() -> E>(
1212
&'static self,
1313
value: T,
1414
get_element: FE,
@@ -21,7 +21,7 @@ impl<T, Inner: ContextKeyInner<Value = T>> ContextKey<Inner> {
2121
}
2222

2323
/// Shortcut for <code>CTX.[get_value](Self::get_value)(get_value).[children](ElementWithContext::children)(get_element)</code>
24-
pub fn provide_with<F: FnOnce() -> T, E: SsrElement, FE: FnOnce() -> E>(
24+
pub fn provide_with<F: FnOnce() -> T, E, FE: FnOnce() -> E>(
2525
&'static self,
2626
get_value: F,
2727
get_element: FE,
@@ -100,7 +100,7 @@ pub struct ElementWithContext<
100100
impl<T, Inner: ContextKeyInner<Value = T> + 'static, F: IntoContextValue<ContextValue = T>>
101101
ElementWithContext<Inner, F, ()>
102102
{
103-
pub fn children<E: SsrElement, FE: FnOnce() -> E>(
103+
pub fn children<E, FE: FnOnce() -> E>(
104104
self,
105105
get_element: FE,
106106
) -> ElementWithContext<Inner, F, FE> {

packages/frender-context/src/element/csr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::{marker::PhantomData, pin::Pin, task::Poll};
22

3-
use frender_html::csr::{
3+
use frender_csr::{
44
experimental::{
55
self, HtmlRenderContext, PinnedRenderStateKind, PinnedRenderStateKindPollRender,
66
RenderHtml, RenderInitPinned, UnpinnedRenderStateKind, UnpinnedRenderStateKindPollRender,

packages/frender/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ ssr = [
8383
"frender-hooks-ext?/ssr",
8484
"frender-synced-collection?/ssr",
8585
"frender-hook-element?/ssr",
86+
"frender-context?/ssr",
8687
]
8788
csr = [
8889
#
@@ -97,6 +98,7 @@ csr = [
9798
"frender-hooks-ext?/csr",
9899
"frender-synced-collection?/csr",
99100
"frender-hook-element?/csr",
101+
"frender-context?/csr",
100102
]
101103
# default- features
102104
html-components = ["dep:frender-html-components"]

0 commit comments

Comments
 (0)