pub struct StaticModuleResolver(/* private fields */);Expand description
A static module resolution service that serves modules added into it.
§Example
use quad_compat_rhai::{Engine, Module};
use quad_compat_rhai::module_resolvers::StaticModuleResolver;
let mut resolver = StaticModuleResolver::new();
let module = Module::new();
resolver.insert("hello", module);
let mut engine = Engine::new();
engine.set_module_resolver(resolver);Implementations§
Source§impl StaticModuleResolver
impl StaticModuleResolver
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new StaticModuleResolver.
§Example
use quad_compat_rhai::{Engine, Module};
use quad_compat_rhai::module_resolvers::StaticModuleResolver;
let mut resolver = StaticModuleResolver::new();
let module = Module::new();
resolver.insert("hello", module);
let mut engine = Engine::new();
engine.set_module_resolver(resolver);Sourcepub fn insert(&mut self, path: impl Into<Identifier>, module: Module)
pub fn insert(&mut self, path: impl Into<Identifier>, module: Module)
Add a module keyed by its path.
Sourcepub fn contains_path(&self, path: &str) -> bool
pub fn contains_path(&self, path: &str) -> bool
Does the path exist?
Sourcepub fn iter(&self) -> impl Iterator<Item = (&str, &Shared<Module>)>
pub fn iter(&self) -> impl Iterator<Item = (&str, &Shared<Module>)>
Get an iterator of all the modules.
Sourcepub fn iter_mut(&mut self) -> impl Iterator<Item = (&str, &mut Shared<Module>)>
pub fn iter_mut(&mut self) -> impl Iterator<Item = (&str, &mut Shared<Module>)>
Get a mutable iterator of all the modules.
Sourcepub fn values(&self) -> impl Iterator<Item = &Shared<Module>>
pub fn values(&self) -> impl Iterator<Item = &Shared<Module>>
Get an iterator of all the modules.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Is this StaticModuleResolver empty?
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the number of modules in this StaticModuleResolver.
Sourcepub fn merge(&mut self, other: Self) -> &mut Self
pub fn merge(&mut self, other: Self) -> &mut Self
Merge another StaticModuleResolver into this.
The other StaticModuleResolver is consumed.
Existing modules of the same path name are overwritten.
Trait Implementations§
Source§impl AddAssign for StaticModuleResolver
impl AddAssign for StaticModuleResolver
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl Clone for StaticModuleResolver
impl Clone for StaticModuleResolver
Source§fn clone(&self) -> StaticModuleResolver
fn clone(&self) -> StaticModuleResolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StaticModuleResolver
impl Debug for StaticModuleResolver
Source§impl IntoIterator for StaticModuleResolver
impl IntoIterator for StaticModuleResolver
Source§type Item = (SmartString<LazyCompact>, Rc<Module>)
type Item = (SmartString<LazyCompact>, Rc<Module>)
The type of the elements being iterated over.
Source§type IntoIter = IntoIter<SmartString<LazyCompact>, Rc<Module>>
type IntoIter = IntoIter<SmartString<LazyCompact>, Rc<Module>>
Which kind of iterator are we turning this into?
Auto Trait Implementations§
impl Freeze for StaticModuleResolver
impl !RefUnwindSafe for StaticModuleResolver
impl !Send for StaticModuleResolver
impl !Sync for StaticModuleResolver
impl Unpin for StaticModuleResolver
impl !UnwindSafe for StaticModuleResolver
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Variant for T
impl<T> Variant for T
Source§fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
Convert this
Variant trait object to &mut dyn Any.Source§fn into_dynamic(self) -> Dynamic
fn into_dynamic(self) -> Dynamic
Convert into
Dynamic.Source§fn clone_into_dynamic(&self) -> Dynamic
fn clone_into_dynamic(&self) -> Dynamic
Clone into
Dynamic.