(&self, name: String, module: Object)
| 295 | |
| 296 | #[wasm_bindgen(js_name = injectJSModule)] |
| 297 | pub fn inject_js_module(&self, name: String, module: Object) -> Result<(), JsValue> { |
| 298 | self.with_vm(|vm, _| { |
| 299 | let py_module = vm.new_module(&name, vm.ctx.new_dict(), None); |
| 300 | for entry in convert::object_entries(&module) { |
| 301 | let (key, value) = entry?; |
| 302 | let key = Object::from(key).to_string(); |
| 303 | extend_module!(vm, &py_module, { |
| 304 | String::from(key) => convert::js_to_py(vm, value), |
| 305 | }); |
| 306 | } |
| 307 | |
| 308 | let sys_modules = vm.sys_module.get_attr("modules", vm).into_js(vm)?; |
| 309 | sys_modules |
| 310 | .set_item(&name, py_module.into(), vm) |
| 311 | .into_js(vm)?; |
| 312 | |
| 313 | Ok(()) |
| 314 | })? |
| 315 | } |
| 316 | |
| 317 | pub(crate) fn run( |
| 318 | &self, |
nothing calls this directly
no test coverage detected