@babel/plugin-transform-spread
Advanced tools
Comparing version 7.0.0-beta.31 to 7.0.0-beta.32
@@ -6,8 +6,9 @@ "use strict"; | ||
function _default(_ref, options) { | ||
var t = _ref.types; | ||
var _core = require("@babel/core"); | ||
function _default(api, options) { | ||
var loose = options.loose; | ||
function getSpreadLiteral(spread, scope) { | ||
if (loose && !t.isIdentifier(spread.argument, { | ||
if (loose && !_core.types.isIdentifier(spread.argument, { | ||
name: "arguments" | ||
@@ -23,3 +24,3 @@ })) { | ||
for (var i = 0; i < nodes.length; i++) { | ||
if (t.isSpreadElement(nodes[i])) { | ||
if (_core.types.isSpreadElement(nodes[i])) { | ||
return true; | ||
@@ -34,3 +35,3 @@ } | ||
if (!_props.length) return _props; | ||
nodes.push(t.arrayExpression(_props)); | ||
nodes.push(_core.types.arrayExpression(_props)); | ||
return []; | ||
@@ -44,16 +45,16 @@ } | ||
for (var _iterator = props, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref2; | ||
var _ref; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref2 = _iterator[_i++]; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref2 = _i.value; | ||
_ref = _i.value; | ||
} | ||
var _prop = _ref2; | ||
var _prop = _ref; | ||
if (t.isSpreadElement(_prop)) { | ||
if (_core.types.isSpreadElement(_prop)) { | ||
_props = push(_props, nodes); | ||
@@ -80,8 +81,8 @@ nodes.push(getSpreadLiteral(_prop, scope)); | ||
if (!t.isArrayExpression(first)) { | ||
nodes.unshift(first); | ||
first = t.arrayExpression([]); | ||
if (nodes.length === 0 && first !== elements[0].argument) { | ||
path.replaceWith(first); | ||
return; | ||
} | ||
path.replaceWith(t.callExpression(t.memberExpression(first, t.identifier("concat")), nodes)); | ||
path.replaceWith(_core.types.callExpression(_core.types.memberExpression(first, _core.types.identifier("concat")), nodes)); | ||
}, | ||
@@ -108,3 +109,3 @@ CallExpression: function CallExpression(path, state) { | ||
if (nodes.length) { | ||
node.arguments.push(t.callExpression(t.memberExpression(first, t.identifier("concat")), nodes)); | ||
node.arguments.push(_core.types.callExpression(_core.types.memberExpression(first, _core.types.identifier("concat")), nodes)); | ||
} else { | ||
@@ -120,15 +121,15 @@ node.arguments.push(first); | ||
if (temp) { | ||
callee.object = t.assignmentExpression("=", temp, callee.object); | ||
callee.object = _core.types.assignmentExpression("=", temp, callee.object); | ||
contextLiteral = temp; | ||
} else { | ||
contextLiteral = t.cloneDeep(callee.object); | ||
contextLiteral = _core.types.cloneDeep(callee.object); | ||
} | ||
t.appendToMemberExpression(callee, t.identifier("apply")); | ||
_core.types.appendToMemberExpression(callee, _core.types.identifier("apply")); | ||
} else { | ||
node.callee = t.memberExpression(node.callee, t.identifier("apply")); | ||
node.callee = _core.types.memberExpression(node.callee, _core.types.identifier("apply")); | ||
} | ||
if (t.isSuper(contextLiteral)) { | ||
contextLiteral = t.thisExpression(); | ||
if (_core.types.isSuper(contextLiteral)) { | ||
contextLiteral = _core.types.thisExpression(); | ||
} | ||
@@ -144,5 +145,7 @@ | ||
var nodes = build(args, scope, state); | ||
var context = t.arrayExpression([t.nullLiteral()]); | ||
args = t.callExpression(t.memberExpression(context, t.identifier("concat")), nodes); | ||
path.replaceWith(t.newExpression(t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier("Function"), t.identifier("prototype")), t.identifier("bind")), t.identifier("apply")), [node.callee, args]), [])); | ||
var context = _core.types.arrayExpression([_core.types.nullLiteral()]); | ||
args = _core.types.callExpression(_core.types.memberExpression(context, _core.types.identifier("concat")), nodes); | ||
path.replaceWith(_core.types.newExpression(_core.types.callExpression(_core.types.memberExpression(_core.types.memberExpression(_core.types.memberExpression(_core.types.identifier("Function"), _core.types.identifier("prototype")), _core.types.identifier("bind")), _core.types.identifier("apply")), [node.callee, args]), [])); | ||
} | ||
@@ -149,0 +152,0 @@ } |
{ | ||
"name": "@babel/plugin-transform-spread", | ||
"version": "7.0.0-beta.31", | ||
"version": "7.0.0-beta.32", | ||
"description": "Compile ES2015 spread to ES5", | ||
@@ -12,8 +12,8 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread", | ||
"peerDependencies": { | ||
"@babel/core": "7.0.0-beta.31" | ||
"@babel/core": "7.0.0-beta.32" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.31", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.31" | ||
"@babel/core": "7.0.0-beta.32", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.32" | ||
} | ||
} |
@@ -18,3 +18,3 @@ # @babel/plugin-transform-spread | ||
var a = [ 'a', 'b', 'c' ]; | ||
var b = [].concat(a, [ 'foo' ]); | ||
var b = a.concat([ 'foo' ]); | ||
``` | ||
@@ -21,0 +21,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5837
119