support export default of anonymous functions and classes (#1954)

This commit is contained in:
kzc
2017-05-16 15:28:24 -04:00
committed by Alex Lam S.L
parent f751e64d49
commit c22d26b483
2 changed files with 25 additions and 4 deletions

View File

@@ -2373,10 +2373,7 @@ function parse($TEXT, options) {
}
}
var is_definition =
is("keyword", "var") || is("keyword", "let") || is("keyword", "const") ||
is("keyword", "class") || is("keyword", "function");
var is_definition = is("keyword", "var") || is("keyword", "let") || is("keyword", "const");
if (is_definition) {
exported_definition = statement();
} else {

View File

@@ -241,6 +241,30 @@ export_default_array: {
expect_exact: "export default[3,foo];"
}
export_default_anon_function: {
options = {
evaluate: true,
}
input: {
export default function(){
console.log(1 + 2);
}
}
expect_exact: "export default function(){console.log(3)};"
}
export_default_anon_class: {
options = {
evaluate: true,
}
input: {
export default class {
foo() { console.log(1 + 2); }
}
}
expect_exact: "export default class{foo(){console.log(3)}};"
}
export_module_statement: {
input: {
export * from "a.js";