Skip to content

Commit

Permalink
chore: From<ArcResource> for ArcResource and AsyncDerived (leptos-rs#…
Browse files Browse the repository at this point in the history
  • Loading branch information
zakstucke authored Oct 18, 2024
1 parent 8b2f0ea commit fa1939e
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
32 changes: 32 additions & 0 deletions leptos_server/src/resource.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,38 @@ impl<T, Ser> Debug for ArcResource<T, Ser> {
}
}

impl<T, Ser> From<ArcResource<T, Ser>> for Resource<T, Ser>
where
T: Send + Sync,
{
#[track_caller]
fn from(arc_resource: ArcResource<T, Ser>) -> Self {
Resource {
ser: PhantomData,
data: arc_resource.data.into(),
refetch: arc_resource.refetch.into(),
#[cfg(debug_assertions)]
defined_at: Location::caller(),
}
}
}

impl<T, Ser> From<Resource<T, Ser>> for ArcResource<T, Ser>
where
T: Send + Sync,
{
#[track_caller]
fn from(resource: Resource<T, Ser>) -> Self {
ArcResource {
ser: PhantomData,
data: resource.data.into(),
refetch: resource.refetch.into(),
#[cfg(debug_assertions)]
defined_at: Location::caller(),
}
}
}

impl<T, Ser> DefinedAt for ArcResource<T, Ser> {
fn defined_at(&self) -> Option<&'static Location<'static>> {
#[cfg(debug_assertions)]
Expand Down
13 changes: 13 additions & 0 deletions reactive_graph/src/computed/async_derived/async_derived.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,19 @@ where
}
}

impl<T> From<AsyncDerived<T>> for ArcAsyncDerived<T>
where
T: Send + Sync + 'static,
{
#[track_caller]
fn from(value: AsyncDerived<T>) -> Self {
value
.inner
.try_get_value()
.unwrap_or_else(unwrap_signal!(value))
}
}

impl<T> FromLocal<ArcAsyncDerived<T>> for AsyncDerived<T, LocalStorage>
where
T: 'static,
Expand Down

0 comments on commit fa1939e

Please sign in to comment.