Socket
Socket
Sign inDemoInstall

babel-types

Package Overview
Dependencies
Maintainers
5
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-types - npm Package Compare versions

Comparing version 6.25.0 to 6.26.0

package-lock.json

162

lib/converters.js

@@ -52,99 +52,111 @@ "use strict";

function toSequenceExpression(nodes, scope) {
if (!nodes || !nodes.length) return;
function gatherSequenceExpressions(nodes, scope, declars) {
var exprs = [];
var ensureLastUndefined = true;
var declars = [];
var bailed = false;
for (var _iterator = nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
var _ref;
var result = convert(nodes);
if (bailed) return;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
for (var i = 0; i < declars.length; i++) {
scope.push(declars[i]);
}
var node = _ref;
return result;
ensureLastUndefined = false;
function convert(nodes) {
var ensureLastUndefined = false;
var exprs = [];
if (t.isExpression(node)) {
exprs.push(node);
} else if (t.isExpressionStatement(node)) {
exprs.push(node.expression);
} else if (t.isVariableDeclaration(node)) {
if (node.kind !== "var") return;
for (var _iterator = nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
var _ref;
for (var _iterator2 = node.declarations, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {
var _ref2;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var node = _ref;
var declar = _ref2;
if (t.isExpression(node)) {
exprs.push(node);
} else if (t.isExpressionStatement(node)) {
exprs.push(node.expression);
} else if (t.isVariableDeclaration(node)) {
if (node.kind !== "var") return bailed = true;
var bindings = t.getBindingIdentifiers(declar);
for (var key in bindings) {
declars.push({
kind: node.kind,
id: bindings[key]
});
}
for (var _iterator2 = node.declarations, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {
var _ref2;
if (declar.init) {
exprs.push(t.assignmentExpression("=", declar.id, declar.init));
}
}
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
ensureLastUndefined = true;
} else if (t.isIfStatement(node)) {
var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode();
var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode();
if (!consequent || !alternate) return;
var declar = _ref2;
exprs.push(t.conditionalExpression(node.test, consequent, alternate));
} else if (t.isBlockStatement(node)) {
var body = gatherSequenceExpressions(node.body, scope, declars);
if (!body) return;
var bindings = t.getBindingIdentifiers(declar);
for (var key in bindings) {
declars.push({
kind: node.kind,
id: bindings[key]
});
}
exprs.push(body);
} else if (t.isEmptyStatement(node)) {
ensureLastUndefined = true;
} else {
return;
}
}
if (declar.init) {
exprs.push(t.assignmentExpression("=", declar.id, declar.init));
}
}
if (ensureLastUndefined) {
exprs.push(scope.buildUndefinedNode());
}
ensureLastUndefined = true;
continue;
} else if (t.isIfStatement(node)) {
var consequent = node.consequent ? convert([node.consequent]) : scope.buildUndefinedNode();
var alternate = node.alternate ? convert([node.alternate]) : scope.buildUndefinedNode();
if (!consequent || !alternate) return bailed = true;
if (exprs.length === 1) {
return exprs[0];
} else {
return t.sequenceExpression(exprs);
}
}
exprs.push(t.conditionalExpression(node.test, consequent, alternate));
} else if (t.isBlockStatement(node)) {
exprs.push(convert(node.body));
} else if (t.isEmptyStatement(node)) {
ensureLastUndefined = true;
continue;
} else {
return bailed = true;
}
function toSequenceExpression(nodes, scope) {
if (!nodes || !nodes.length) return;
ensureLastUndefined = false;
}
var declars = [];
var result = gatherSequenceExpressions(nodes, scope, declars);
if (!result) return;
if (ensureLastUndefined || exprs.length === 0) {
exprs.push(scope.buildUndefinedNode());
}
for (var _iterator3 = declars, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) {
var _ref3;
if (exprs.length === 1) {
return exprs[0];
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref3 = _iterator3[_i3++];
} else {
return t.sequenceExpression(exprs);
_i3 = _iterator3.next();
if (_i3.done) break;
_ref3 = _i3.value;
}
var declar = _ref3;
scope.push(declar);
}
return result;
}

@@ -151,0 +163,0 @@

@@ -89,2 +89,8 @@ "use strict";

(0, _index2.default)("DeclareOpaqueType", {
visitor: ["id", "typeParameters", "supertype"],
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
fields: {}
});
(0, _index2.default)("DeclareVariable", {

@@ -96,2 +102,8 @@ visitor: ["id"],

(0, _index2.default)("DeclareExportDeclaration", {
visitor: ["declaration", "specifiers", "source"],
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
fields: {}
});
(0, _index2.default)("ExistentialTypeParam", {

@@ -194,2 +206,8 @@ aliases: ["Flow"]

(0, _index2.default)("OpaqueType", {
visitor: ["id", "typeParameters", "impltype", "supertype"],
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
fields: {}
});
(0, _index2.default)("TypeAnnotation", {

@@ -196,0 +214,0 @@ visitor: ["typeAnnotation"],

@@ -78,2 +78,3 @@ "use strict";

TypeAlias: ["id"],
OpaqueType: ["id"],

@@ -80,0 +81,0 @@ CatchClause: ["param"],

{
"name": "babel-types",
"version": "6.25.0",
"version": "6.26.0",
"description": "Babel Types is a Lodash-esque utility library for AST nodes",

@@ -11,10 +11,11 @@ "author": "Sebastian McKenzie <sebmck@gmail.com>",

"dependencies": {
"babel-runtime": "^6.22.0",
"babel-runtime": "^6.26.0",
"esutils": "^2.0.2",
"lodash": "^4.2.0",
"to-fast-properties": "^1.0.1"
"lodash": "^4.17.4",
"to-fast-properties": "^1.0.3"
},
"devDependencies": {
"babylon": "^6.17.2"
"babel-generator": "^6.26.0",
"babylon": "^6.18.0"
}
}

@@ -410,2 +410,17 @@ # babel-types

### declareExportDeclaration
```javascript
t.declareExportDeclaration(declaration, specifiers, source)
```
See also `t.isDeclareExportDeclaration(node, opts)` and `t.assertDeclareExportDeclaration(node, opts)`.
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`
- `declaration` (required)
- `specifiers` (required)
- `source` (required)
---
### declareFunction

@@ -467,2 +482,17 @@ ```javascript

### declareOpaqueType
```javascript
t.declareOpaqueType(id, typeParameters, supertype)
```
See also `t.isDeclareOpaqueType(node, opts)` and `t.assertDeclareOpaqueType(node, opts)`.
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`
- `id` (required)
- `typeParameters` (required)
- `supertype` (required)
---
### declareTypeAlias

@@ -1450,2 +1480,18 @@ ```javascript

### opaqueType
```javascript
t.opaqueType(id, typeParameters, impltype, supertype)
```
See also `t.isOpaqueType(node, opts)` and `t.assertOpaqueType(node, opts)`.
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`
- `id` (required)
- `typeParameters` (required)
- `impltype` (required)
- `supertype` (required)
---
### parenthesizedExpression

@@ -1452,0 +1498,0 @@ ```javascript

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