mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
LibJS: Handle empty named export
This is an export which looks like `export {} from "module"`, and
although it doesn't have any real export entries it should still add
"module" to the required modules to load.
This commit is contained in:
Notes:
sideshowbarker
2024-07-18 03:20:18 +09:00
Author: https://github.com/davidot Commit: https://github.com/SerenityOS/serenity/commit/3b1c3e574f Pull-request: https://github.com/SerenityOS/serenity/pull/15100 Reviewed-by: https://github.com/linusg
@@ -174,6 +174,13 @@ Result<NonnullRefPtr<SourceTextModule>, Vector<Parser::Error>> SourceTextModule:
|
||||
|
||||
for (auto const& export_entry : export_statement.entries()) {
|
||||
|
||||
// Special case, export {} from "module" should add "module" to
|
||||
// required_modules but not any import or export so skip here.
|
||||
if (export_entry.kind == ExportStatement::ExportEntry::Kind::EmptyNamedExport) {
|
||||
VERIFY(export_statement.entries().size() == 1);
|
||||
break;
|
||||
}
|
||||
|
||||
// a. If ee.[[ModuleRequest]] is null, then
|
||||
if (!export_entry.is_module_request()) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user