add new arrows compress option (#2154)

Convert ES5 style anonymous function expressions
to arrow functions if permissible by language semantics.

Note: `arrows` requires that the `ecma` compress option
is set to `6` or greater.

fixes #2150
This commit is contained in:
Alex Lam S.L
2017-06-24 14:45:24 +08:00
committed by GitHub
parent 7b95b63ca1
commit d1f085bce7
7 changed files with 140 additions and 10 deletions

View File

@@ -32,3 +32,25 @@ compress_new_function_with_destruct: {
Function("[[a]]", "[{bb:b}]", 'return a');
}
}
compress_new_function_with_destruct_arrows: {
options = {
arrows: true,
unsafe: true,
unsafe_Func: true,
ecma: 6
}
beautify = {
ecma: 6
}
input: {
new Function("aa, [bb]", 'return aa;');
new Function("aa, {bb}", 'return aa;');
new Function("[[aa]], [{bb}]", 'return aa;');
}
expect: {
Function("aa, [bb]", 'return aa;');
Function("aa, {bb}", 'return aa;');
Function("[[aa]], [{bb}]", 'return aa;');
}
}