pub struct ModuleResolversCollection(/* private fields */);Available on crate feature
rhai only.Expand description
Module resolution service that holds a collection of module resolvers, to be searched in sequential order.
§Example
use rhai::{Engine, Module};
use rhai::module_resolvers::{StaticModuleResolver, ModuleResolversCollection};
let mut collection = ModuleResolversCollection::new();
let resolver = StaticModuleResolver::new();
collection.push(resolver);
let mut engine = Engine::new();
engine.set_module_resolver(collection);Implementations§
Source§impl ModuleResolversCollection
impl ModuleResolversCollection
Sourcepub const fn new() -> ModuleResolversCollection
pub const fn new() -> ModuleResolversCollection
Create a new ModuleResolversCollection.
§Example
use rhai::{Engine, Module};
use rhai::module_resolvers::{StaticModuleResolver, ModuleResolversCollection};
let mut collection = ModuleResolversCollection::new();
let resolver = StaticModuleResolver::new();
collection.push(resolver);
let mut engine = Engine::new();
engine.set_module_resolver(collection);Sourcepub fn push(
&mut self,
resolver: impl ModuleResolver + 'static,
) -> &mut ModuleResolversCollection
pub fn push( &mut self, resolver: impl ModuleResolver + 'static, ) -> &mut ModuleResolversCollection
Append a module resolver to the end.
Sourcepub fn insert(
&mut self,
index: usize,
resolver: impl ModuleResolver + 'static,
) -> &mut ModuleResolversCollection
pub fn insert( &mut self, index: usize, resolver: impl ModuleResolver + 'static, ) -> &mut ModuleResolversCollection
Sourcepub fn pop(&mut self) -> Option<Box<dyn ModuleResolver>>
pub fn pop(&mut self) -> Option<Box<dyn ModuleResolver>>
Remove the last module resolver from the end, if any.
Sourcepub fn remove(&mut self, index: usize) -> Box<dyn ModuleResolver>
pub fn remove(&mut self, index: usize) -> Box<dyn ModuleResolver>
Sourcepub fn iter(&self) -> impl Iterator<Item = &dyn ModuleResolver>
pub fn iter(&self) -> impl Iterator<Item = &dyn ModuleResolver>
Get an iterator of all the module resolvers.
Sourcepub fn clear(&mut self) -> &mut ModuleResolversCollection
pub fn clear(&mut self) -> &mut ModuleResolversCollection
Remove all module resolvers.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if this ModuleResolversCollection contains no module resolvers.
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the number of module resolvers in this ModuleResolversCollection.
Sourcepub fn append(
&mut self,
other: ModuleResolversCollection,
) -> &mut ModuleResolversCollection
pub fn append( &mut self, other: ModuleResolversCollection, ) -> &mut ModuleResolversCollection
Add another ModuleResolversCollection to the end of this collection.
The other ModuleResolversCollection is consumed.
Trait Implementations§
Source§impl<M> AddAssign<M> for ModuleResolversCollectionwhere
M: ModuleResolver + 'static,
impl<M> AddAssign<M> for ModuleResolversCollectionwhere
M: ModuleResolver + 'static,
Source§fn add_assign(&mut self, rhs: M)
fn add_assign(&mut self, rhs: M)
Performs the
+= operation. Read moreSource§impl Default for ModuleResolversCollection
impl Default for ModuleResolversCollection
Source§fn default() -> ModuleResolversCollection
fn default() -> ModuleResolversCollection
Returns the “default value” for a type. Read more
Source§impl Extend<Box<dyn ModuleResolver>> for ModuleResolversCollection
impl Extend<Box<dyn ModuleResolver>> for ModuleResolversCollection
Source§fn extend<T>(&mut self, iter: T)
fn extend<T>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: T)
fn extend_one(&mut self, item: T)
🔬This is a nightly-only experimental API. (
extend_one)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
Source§impl IntoIterator for ModuleResolversCollection
impl IntoIterator for ModuleResolversCollection
Source§type Item = Box<dyn ModuleResolver>
type Item = Box<dyn ModuleResolver>
The type of the elements being iterated over.
Source§type IntoIter = IntoIter<[Box<dyn ModuleResolver>; 3]>
type IntoIter = IntoIter<[Box<dyn ModuleResolver>; 3]>
Which kind of iterator are we turning this into?
Source§fn into_iter(self) -> <ModuleResolversCollection as IntoIterator>::IntoIter
fn into_iter(self) -> <ModuleResolversCollection as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
Source§impl<'a> IntoIterator for &'a ModuleResolversCollection
impl<'a> IntoIterator for &'a ModuleResolversCollection
Source§type Item = &'a Box<dyn ModuleResolver>
type Item = &'a Box<dyn ModuleResolver>
The type of the elements being iterated over.
Source§type IntoIter = Iter<'a, Box<dyn ModuleResolver>>
type IntoIter = Iter<'a, Box<dyn ModuleResolver>>
Which kind of iterator are we turning this into?
Source§fn into_iter(self) -> <&'a ModuleResolversCollection as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a ModuleResolversCollection as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
Source§impl ModuleResolver for ModuleResolversCollection
impl ModuleResolver for ModuleResolversCollection
Source§fn resolve(
&self,
engine: &Engine,
source_path: Option<&str>,
path: &str,
pos: Position,
) -> Result<Arc<Module>, Box<EvalAltResult>>
fn resolve( &self, engine: &Engine, source_path: Option<&str>, path: &str, pos: Position, ) -> Result<Arc<Module>, Box<EvalAltResult>>
Resolve a module based on a path string.
Source§fn resolve_raw(
&self,
engine: &Engine,
global: &mut GlobalRuntimeState,
scope: &mut Scope<'_>,
path: &str,
pos: Position,
) -> Result<Arc<Module>, Box<EvalAltResult>>
fn resolve_raw( &self, engine: &Engine, global: &mut GlobalRuntimeState, scope: &mut Scope<'_>, path: &str, pos: Position, ) -> Result<Arc<Module>, Box<EvalAltResult>>
Resolve a module based on a path string, given a
GlobalRuntimeState and the current Scope. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ModuleResolversCollection
impl !UnwindSafe for ModuleResolversCollection
impl Freeze for ModuleResolversCollection
impl Send for ModuleResolversCollection
impl Sync for ModuleResolversCollection
impl Unpin for ModuleResolversCollection
impl UnsafeUnpin for ModuleResolversCollection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Available on crate feature
map-response-body only.Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using gRPC headers. Read more
Source§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
Available on crate feature
follow-redirect only.