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