| 511 | } |
| 512 | |
| 513 | v8::MaybeLocal<v8::Module> loadModule (v8::Local<v8::Context> localContext, v8::Local<v8::String> source) |
| 514 | { |
| 515 | v8::ScriptOrigin origin ({}, 0, 0, false, -1, {}, false, false, true); |
| 516 | v8::ScriptCompiler::Source src (source, origin); |
| 517 | auto mod = v8::ScriptCompiler::CompileModule (isolate, &src); |
| 518 | |
| 519 | if (mod.IsEmpty()) |
| 520 | return {}; |
| 521 | |
| 522 | auto ok = mod.ToLocalChecked()->InstantiateModule (localContext, +[] (v8::Local<v8::Context> c, v8::Local<v8::String> specifier, |
| 523 | v8::Local<v8::FixedArray>, v8::Local<v8::Module>) |
| 524 | { |
| 525 | return static_cast<V8Context*> (c->GetIsolate()->GetData (0)) |
| 526 | ->loadStaticModule (c, specifier); |
| 527 | }); |
| 528 | |
| 529 | if (ok.IsNothing() || ! ok.ToChecked()) |
| 530 | return {}; |
| 531 | |
| 532 | return mod; |
| 533 | } |
| 534 | |
| 535 | v8::MaybeLocal<v8::Module> loadStaticModule (v8::Local<v8::Context> c, |
| 536 | v8::Local<v8::String> specifier) |
nothing calls this directly
no test coverage detected