rqjs_ext/modules/
module.rs

1use rquickjs::{module::Exports, Ctx, Object, Result, Value};
2
3pub fn export_default<'js, F>(ctx: &Ctx<'js>, exports: &Exports<'js>, f: F) -> Result<()>
4where
5    F: FnOnce(&Object<'js>) -> Result<()>,
6{
7    let default = Object::new(ctx.clone())?;
8    f(&default)?;
9
10    for name in default.keys::<String>() {
11        let name = name?;
12        let value: Value = default.get(&name)?;
13        exports.export(name, value)?;
14    }
15
16    exports.export("default", default)?;
17
18    Ok(())
19}