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}