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