tinymist_world/package/
mod.rs1use std::sync::Arc;
4
5use tinymist_std::ImmutPath;
6use typst::diag::FileResult;
7
8pub use tinymist_package::*;
9
10pub struct RegistryPathMapper<T> {
12    pub registry: Arc<T>,
14}
15
16impl<T> RegistryPathMapper<T> {
17    pub fn new(registry: Arc<T>) -> Self {
19        Self { registry }
20    }
21}
22
23impl<T: PackageRegistry> tinymist_vfs::RootResolver for RegistryPathMapper<T> {
24    fn resolve_package_root(&self, pkg: &PackageSpec) -> FileResult<ImmutPath> {
25        Ok(self.registry.resolve(pkg)?)
26    }
27}