Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-spread

Package Overview
Dependencies
Maintainers
4
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-spread - npm Package Compare versions

Comparing version 7.0.0-beta.31 to 7.0.0-beta.32

51

lib/index.js

@@ -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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc