This repository has been archived on 2025-08-04. You can view files and clone it, but cannot push or open issues or pull requests.
rhaj/rhai_engine/rhaibook/rust/modules/resolvers/index.md
2025-04-03 09:18:05 +02:00

36 lines
958 B
Markdown

Module Resolvers
================
{{#include ../../../links.md}}
~~~admonish info.side "`import`"
See the section on [_Importing Modules_][`import`] for more details.
~~~
When encountering an [`import`] statement, Rhai attempts to _resolve_ the [module] based on the path string.
_Module Resolvers_ are service types that implement the [`ModuleResolver`][traits] trait.
Set into `Engine`
-----------------
An [`Engine`]'s module resolver is set via a call to `Engine::set_module_resolver`:
```rust
use rhai::module_resolvers::{DummyModuleResolver, StaticModuleResolver};
// Create a module resolver
let resolver = StaticModuleResolver::new();
// Register functions into 'resolver'...
// Use the module resolver
engine.set_module_resolver(resolver);
// Effectively disable 'import' statements by setting module resolver to
// the 'DummyModuleResolver' which acts as... well... a dummy.
engine.set_module_resolver(DummyModuleResolver::new());
```