Don't polyfill if evaluation is not confident (#10397)

This commit is contained in:
Bin Xin 2019-09-06 06:29:19 +08:00 committed by Nicolò Ribaudo
parent 2e7bea4a6a
commit 5c859b1117
4 changed files with 33 additions and 1 deletions

View File

@ -107,7 +107,7 @@ export default function(
if (isNamespaced(path.get("object"))) return;
let evaluatedPropType = object.name;
let propertyName = property.name;
let propertyName = "";
let instanceType = "";
if (node.computed) {
@ -119,6 +119,8 @@ export default function(
propertyName = result.value;
}
}
} else {
propertyName = property.name;
}
if (path.scope.getBindingIdentifier(object.name)) {

View File

@ -0,0 +1,5 @@
Object['values'](); // include
[]['map'](); // include
Object[keys](); // don't include
[][filter](); // don't include

View File

@ -0,0 +1,12 @@
{
"presets": [
[
"../../../../lib",
{
"useBuiltIns": "usage",
"corejs": 2,
"modules": false
}
]
]
}

View File

@ -0,0 +1,13 @@
import "core-js/modules/es6.array.map";
import "core-js/modules/web.dom.iterable";
import "core-js/modules/es6.array.iterator";
import "core-js/modules/es6.object.to-string";
import "core-js/modules/es7.object.values";
Object['values'](); // include
[]['map'](); // include
Object[keys](); // don't include
[][filter](); // don't include