| 636 | } |
| 637 | |
| 638 | GJS_JSAPI_RETURN_CONVENTION |
| 639 | static bool import_resolved(JSContext* cx, unsigned argc, JS::Value* vp) { |
| 640 | JS::CallArgs args = JS::CallArgsFromVp(argc, vp); |
| 641 | |
| 642 | gjs_debug(GJS_DEBUG_IMPORTER, "Async import promise resolved"); |
| 643 | |
| 644 | Gjs::AutoMainRealm ar{cx}; |
| 645 | |
| 646 | g_assert(args[0].isObject()); |
| 647 | JS::RootedObject module(cx, &args[0].toObject()); |
| 648 | |
| 649 | JS::RootedValue evaluation_promise(cx); |
| 650 | if (!JS::ModuleLink(cx, module) || |
| 651 | !JS::ModuleEvaluate(cx, module, &evaluation_promise)) |
| 652 | return fail_import(cx, args); |
| 653 | |
| 654 | g_assert(evaluation_promise.isObject() && |
| 655 | "got weird value from JS::ModuleEvaluate"); |
| 656 | JS::RootedObject evaluation_promise_object(cx, |
| 657 | &evaluation_promise.toObject()); |
| 658 | return finish_import(cx, evaluation_promise_object, args); |
| 659 | } |
| 660 | |
| 661 | bool gjs_dynamic_module_resolve(JSContext* cx, |
| 662 | JS::HandleValue importing_module_priv, |
nothing calls this directly
no test coverage detected