Skip to content

Commit

Permalink
refactor(turbopack-core): Use ResolvedVc for IntrospectableModule and…
Browse files Browse the repository at this point in the history
… IntrospectableSource
  • Loading branch information
bgw committed Jan 4, 2025
1 parent 3f4d0cc commit 6d969e6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 6 additions & 6 deletions turbopack/crates/turbopack-core/src/introspect/module.rs
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
use anyhow::Result;
use turbo_rcstr::RcStr;
use turbo_tasks::{ValueToString, Vc};
use turbo_tasks::{ResolvedVc, ValueToString, Vc};

use super::{
utils::{children_from_module_references, content_to_details},
Introspectable, IntrospectableChildren,
};
use crate::{asset::Asset, module::Module};

#[turbo_tasks::value(local)]
pub struct IntrospectableModule(Vc<Box<dyn Module>>);
#[turbo_tasks::value]
pub struct IntrospectableModule(ResolvedVc<Box<dyn Module>>);

#[turbo_tasks::value_impl]
impl IntrospectableModule {
#[turbo_tasks::function]
pub async fn new(asset: Vc<Box<dyn Module>>) -> Result<Vc<Box<dyn Introspectable>>> {
Ok(Vc::try_resolve_sidecast::<Box<dyn Introspectable>>(asset)
pub async fn new(asset: ResolvedVc<Box<dyn Module>>) -> Result<Vc<Box<dyn Introspectable>>> {
Ok(*ResolvedVc::try_sidecast::<Box<dyn Introspectable>>(asset)
.await?
.unwrap_or_else(|| Vc::upcast(IntrospectableModule(asset).cell())))
.unwrap_or_else(|| ResolvedVc::upcast(IntrospectableModule(asset).resolved_cell())))
}
}

Expand Down
12 changes: 6 additions & 6 deletions turbopack/crates/turbopack-core/src/introspect/source.rs
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
use anyhow::Result;
use turbo_rcstr::RcStr;
use turbo_tasks::{ValueToString, Vc};
use turbo_tasks::{ResolvedVc, ValueToString, Vc};

use super::{utils::content_to_details, Introspectable};
use crate::{asset::Asset, source::Source};

#[turbo_tasks::value(local)]
pub struct IntrospectableSource(Vc<Box<dyn Source>>);
#[turbo_tasks::value]
pub struct IntrospectableSource(ResolvedVc<Box<dyn Source>>);

#[turbo_tasks::value_impl]
impl IntrospectableSource {
#[turbo_tasks::function]
pub async fn new(asset: Vc<Box<dyn Source>>) -> Result<Vc<Box<dyn Introspectable>>> {
Ok(Vc::try_resolve_sidecast::<Box<dyn Introspectable>>(asset)
pub async fn new(asset: ResolvedVc<Box<dyn Source>>) -> Result<Vc<Box<dyn Introspectable>>> {
Ok(*ResolvedVc::try_sidecast::<Box<dyn Introspectable>>(asset)
.await?
.unwrap_or_else(|| Vc::upcast(IntrospectableSource(asset).cell())))
.unwrap_or_else(|| ResolvedVc::upcast(IntrospectableSource(asset).resolved_cell())))
}
}

Expand Down

0 comments on commit 6d969e6

Please sign in to comment.