1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:18:13 +00:00

LibJS: Follow the spec with storing im- and export entries

Because we can have arbitrary in- and export names with strings we can
have '*' and '' which means using '*' as an indicating namespace imports
failed / behaved incorrectly for string imports '*'.
We now use more specific types to indicate these special states instead
of these 'magic' string values.

Do note that 'default' is not actually a magic string value but one
specified by the spec. And you can in fact export the default value by
doing: `export { 1 as default }`.
This commit is contained in:
davidot 2022-01-27 01:54:47 +01:00 committed by Linus Groh
parent 8473f6caee
commit e0e4ead2c8
11 changed files with 190 additions and 96 deletions

View file

@ -0,0 +1,6 @@
import * as indirectNs from "./default-and-star-export-indirect.mjs";
export const passed =
indirectNs["*"] === "starExportValue" &&
indirectNs[""] === "empty" &&
indirectNs.default === undefined;