use crate::js::loader::ModuleLoader;
use crate::js::module::{CORE_MODULES, ModulePath, ModuleSource};
use crate::prelude::*;
#[derive(Default)]
pub struct CoreModuleLoader;
impl ModuleLoader for CoreModuleLoader {
fn resolve(
&self,
_base: Option<&str>,
specifier: &str,
) -> AnyResult<ModulePath> {
assert!(CORE_MODULES.contains_key(specifier));
Ok(specifier.to_string())
}
fn load(&self, module_path: &str) -> AnyResult<ModuleSource> {
assert!(CORE_MODULES.contains_key(module_path));
Ok(CORE_MODULES.get(module_path).unwrap().to_string())
}
}