rquickjs_extension/loader/
resolver.rs1use std::collections::HashSet;
2
3use rquickjs::{
4 loader::{BuiltinResolver, Resolver},
5 Ctx, Result,
6};
7
8pub struct ModuleResolver {
11 inner: BuiltinResolver,
12}
13
14impl ModuleResolver {
15 pub(crate) fn new(names: HashSet<&'static str>) -> Self {
16 let mut resolver = BuiltinResolver::default();
17 for name in names {
18 resolver.add_module(name);
19 }
20
21 Self { inner: resolver }
22 }
23}
24
25impl Resolver for ModuleResolver {
26 fn resolve(&mut self, ctx: &Ctx<'_>, base: &str, name: &str) -> Result<String> {
27 self.inner.resolve(ctx, base, name)
28 }
29}