Trait rquickjs_core::Resolver[][src]

pub trait Resolver {
    fn resolve<'js>(
        &mut self,
        ctx: Ctx<'js>,
        base: &str,
        name: &str
    ) -> Result<String>; }
This is supported on crate feature loader only.

Module resolver interface

Required methods

fn resolve<'js>(
    &mut self,
    ctx: Ctx<'js>,
    base: &str,
    name: &str
) -> Result<String>
[src]

Normalize module name

The resolving may looks like:

Ok(if !name.starts_with('.') {
    name.into()
} else {
    let mut split = base.rsplitn(2, '/');
    let path = match (split.next(), split.next()) {
        (_, Some(path)) => path,
        _ => "",
    };
    format!("{}/{}", path, name)
})
Loading content...

Implementations on Foreign Types

impl<A> Resolver for (A,) where
    A: Resolver
[src]

impl<A, B> Resolver for (A, B) where
    A: Resolver,
    B: Resolver
[src]

impl<A, B, C> Resolver for (A, B, C) where
    A: Resolver,
    B: Resolver,
    C: Resolver
[src]

impl<A, B, C, D> Resolver for (A, B, C, D) where
    A: Resolver,
    B: Resolver,
    C: Resolver,
    D: Resolver
[src]

impl<A, B, C, D, E> Resolver for (A, B, C, D, E) where
    A: Resolver,
    B: Resolver,
    C: Resolver,
    D: Resolver,
    E: Resolver
[src]

impl<A, B, C, D, E, F> Resolver for (A, B, C, D, E, F) where
    A: Resolver,
    B: Resolver,
    C: Resolver,
    D: Resolver,
    E: Resolver,
    F: Resolver
[src]

impl<A, B, C, D, E, F, G> Resolver for (A, B, C, D, E, F, G) where
    A: Resolver,
    B: Resolver,
    C: Resolver,
    D: Resolver,
    E: Resolver,
    F: Resolver,
    G: Resolver
[src]

impl<A, B, C, D, E, F, G, H> Resolver for (A, B, C, D, E, F, G, H) where
    A: Resolver,
    B: Resolver,
    C: Resolver,
    D: Resolver,
    E: Resolver,
    F: Resolver,
    G: Resolver,
    H: Resolver
[src]

Loading content...

Implementors

impl Resolver for BuiltinResolver[src]

impl Resolver for FileResolver[src]

impl<D> Resolver for Bundle<&'static [(&'static str, D)]>[src]

impl<R> Resolver for Compile<R> where
    R: Resolver
[src]

Loading content...