Struct rhai::module_resolvers::FileModuleResolver [−][src]
pub struct FileModuleResolver { /* fields omitted */ }
Expand description
A module resolution service that loads module script files from the file system.
Caching
Resolved Modules are cached internally so script files are not reloaded and recompiled for subsequent requests.
Use clear_cache
or
clear_cache_for_path
to clear the internal cache.
Namespace
When a function within a script file module is called, all functions defined within the same
script are available, evan private
ones. In other words, functions defined in a module script
can always cross-call each other.
Example
use rhai::Engine; use rhai::module_resolvers::FileModuleResolver; // Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory // with file extension '.x'. let resolver = FileModuleResolver::new_with_path_and_extension("./scripts", "x"); let mut engine = Engine::new(); engine.set_module_resolver(resolver);
Implementations
impl FileModuleResolver
[src]
impl FileModuleResolver
[src]pub fn new() -> Self
[src]
pub fn new() -> Self
[src]Create a new FileModuleResolver
with the current directory as base path.
The default extension is .rhai
.
Example
use rhai::Engine; use rhai::module_resolvers::FileModuleResolver; // Create a new 'FileModuleResolver' loading scripts from the current directory // with file extension '.rhai' (the default). let resolver = FileModuleResolver::new(); let mut engine = Engine::new(); engine.set_module_resolver(resolver);
pub fn new_with_path(path: impl Into<PathBuf>) -> Self
[src]
pub fn new_with_path(path: impl Into<PathBuf>) -> Self
[src]Create a new FileModuleResolver
with a specific base path.
The default extension is .rhai
.
Example
use rhai::Engine; use rhai::module_resolvers::FileModuleResolver; // Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory // with file extension '.rhai' (the default). let resolver = FileModuleResolver::new_with_path("./scripts"); let mut engine = Engine::new(); engine.set_module_resolver(resolver);
pub fn new_with_extension(extension: impl Into<Identifier>) -> Self
[src]
pub fn new_with_extension(extension: impl Into<Identifier>) -> Self
[src]Create a new FileModuleResolver
with a file extension.
Example
use rhai::Engine; use rhai::module_resolvers::FileModuleResolver; // Create a new 'FileModuleResolver' loading scripts with file extension '.rhai' (the default). let resolver = FileModuleResolver::new_with_extension("rhai"); let mut engine = Engine::new(); engine.set_module_resolver(resolver);
pub fn new_with_path_and_extension(
path: impl Into<PathBuf>,
extension: impl Into<Identifier>
) -> Self
[src]
pub fn new_with_path_and_extension(
path: impl Into<PathBuf>,
extension: impl Into<Identifier>
) -> Self
[src]Create a new FileModuleResolver
with a specific base path and file extension.
Example
use rhai::Engine; use rhai::module_resolvers::FileModuleResolver; // Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory // with file extension '.x'. let resolver = FileModuleResolver::new_with_path_and_extension("./scripts", "x"); let mut engine = Engine::new(); engine.set_module_resolver(resolver);
pub fn set_base_path(&mut self, path: impl Into<PathBuf>) -> &mut Self
[src]
pub fn set_base_path(&mut self, path: impl Into<PathBuf>) -> &mut Self
[src]Set the base path for script files.
pub fn set_extension(&mut self, extension: impl Into<Identifier>) -> &mut Self
[src]
pub fn set_extension(&mut self, extension: impl Into<Identifier>) -> &mut Self
[src]Set the script file extension.
pub fn enable_cache(&mut self, enable: bool) -> &mut Self
[src]
pub fn enable_cache(&mut self, enable: bool) -> &mut Self
[src]Enable/disable the cache.
pub fn is_cache_enabled(&self) -> bool
[src]
pub fn is_cache_enabled(&self) -> bool
[src]Is the cache enabled?
pub fn is_cached(&self, path: &str, source_path: Option<&str>) -> bool
[src]
pub fn is_cached(&self, path: &str, source_path: Option<&str>) -> bool
[src]Is a particular path cached?
pub fn clear_cache(&mut self)
[src]
pub fn clear_cache(&mut self)
[src]Empty the internal cache.
Trait Implementations
impl Debug for FileModuleResolver
[src]
impl Debug for FileModuleResolver
[src]impl Default for FileModuleResolver
[src]
impl Default for FileModuleResolver
[src]impl ModuleResolver for FileModuleResolver
[src]
impl ModuleResolver for FileModuleResolver
[src]