fix destructuring rest with template literal (#10013)

* fix destructuring rest with template literal

* update test
This commit is contained in:
Tan Li Hau 2019-05-24 06:03:27 +08:00 committed by Nicolò Ribaudo
parent a6392bd636
commit b6486a22cb
3 changed files with 22 additions and 0 deletions

View File

@ -203,6 +203,8 @@ export default declare((api, options) => {
const key = prop.key;
if (t.isIdentifier(key) && !prop.computed) {
keys.push(t.stringLiteral(key.name));
} else if (t.isTemplateLiteral(prop.key)) {
keys.push(t.cloneNode(prop.key));
} else if (t.isLiteral(key)) {
keys.push(t.stringLiteral(String(key.value)));
} else {

View File

@ -0,0 +1,10 @@
const input = {};
const {
given_name: givenName,
'last_name': lastName,
[`country`]: country,
[prefix + 'state']: state,
[`${prefix}consents`]: consents,
...rest
} = input;

View File

@ -0,0 +1,10 @@
var input = {};
var _ref = prefix + 'state',
_ref2 = `${prefix}consents`,
givenName = input.given_name,
lastName = input['last_name'],
country = input[`country`],
state = input[_ref],
consents = input[_ref2],
rest = babelHelpers.objectWithoutProperties(input, ["given_name", "last_name", `country`, _ref, _ref2].map(babelHelpers.toPropertyKey));