use alloc::string::String;
use rquickjs::{Ctx, Module, Object, Result};
#[rquickjs::module(rename_vars = "camelCase", rename_types = "camelCase")]
#[allow(clippy::module_inception)]
pub mod require {
use super::*;
#[rquickjs::function]
pub fn require<'js>(ctx: Ctx<'js>, name: String) -> Result<Object<'js>> {
let promise = Module::import(&ctx, name)?;
match promise.finish::<Object<'js>>() {
Ok(result) => Ok(result),
Err(_) => {
Ok(promise.into_inner())
}
}
}
#[rquickjs::function]
pub fn default<'js>(ctx: Ctx<'js>, name: String) -> Result<Object<'js>> {
require(ctx, name)
}
}