aboutsummaryrefslogtreecommitdiff
path: root/node_modules/babel-traverse/lib/path
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/babel-traverse/lib/path')
-rw-r--r--node_modules/babel-traverse/lib/path/context.js2
-rw-r--r--node_modules/babel-traverse/lib/path/evaluation.js44
-rw-r--r--node_modules/babel-traverse/lib/path/index.js2
-rw-r--r--node_modules/babel-traverse/lib/path/inference/index.js2
-rw-r--r--node_modules/babel-traverse/lib/path/inference/inferers.js9
-rw-r--r--node_modules/babel-traverse/lib/path/lib/virtual-types.js2
-rw-r--r--node_modules/babel-traverse/lib/path/modification.js2
7 files changed, 55 insertions, 8 deletions
diff --git a/node_modules/babel-traverse/lib/path/context.js b/node_modules/babel-traverse/lib/path/context.js
index bbb0c337e..961e66e0c 100644
--- a/node_modules/babel-traverse/lib/path/context.js
+++ b/node_modules/babel-traverse/lib/path/context.js
@@ -246,7 +246,7 @@ function setKey(key) {
}
function requeue() {
- var pathToQueue = arguments.length <= 0 || arguments[0] === undefined ? this : arguments[0];
+ var pathToQueue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this;
if (pathToQueue.removed) return;
diff --git a/node_modules/babel-traverse/lib/path/evaluation.js b/node_modules/babel-traverse/lib/path/evaluation.js
index 77fcf488a..724d4728e 100644
--- a/node_modules/babel-traverse/lib/path/evaluation.js
+++ b/node_modules/babel-traverse/lib/path/evaluation.js
@@ -230,7 +230,49 @@ function evaluate() {
return arr;
}
- if (path.isObjectExpression()) {}
+ if (path.isObjectExpression()) {
+ var obj = {};
+ var props = path.get("properties");
+ for (var _iterator3 = props, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) {
+ var _ref3;
+
+ if (_isArray3) {
+ if (_i3 >= _iterator3.length) break;
+ _ref3 = _iterator3[_i3++];
+ } else {
+ _i3 = _iterator3.next();
+ if (_i3.done) break;
+ _ref3 = _i3.value;
+ }
+
+ var prop = _ref3;
+
+ if (prop.isObjectMethod() || prop.isSpreadProperty()) {
+ return deopt(prop);
+ }
+ var keyPath = prop.get("key");
+ var key = keyPath;
+ if (prop.node.computed) {
+ key = key.evaluate();
+ if (!key.confident) {
+ return deopt(keyPath);
+ }
+ key = key.value;
+ } else if (key.isIdentifier()) {
+ key = key.node.name;
+ } else {
+ key = key.node.value;
+ }
+ var valuePath = prop.get("value");
+ var _value2 = valuePath.evaluate();
+ if (!_value2.confident) {
+ return deopt(valuePath);
+ }
+ _value2 = _value2.value;
+ obj[key] = _value2;
+ }
+ return obj;
+ }
if (path.isLogicalExpression()) {
var wasConfident = confident;
diff --git a/node_modules/babel-traverse/lib/path/index.js b/node_modules/babel-traverse/lib/path/index.js
index d257dac5b..d97a3d190 100644
--- a/node_modules/babel-traverse/lib/path/index.js
+++ b/node_modules/babel-traverse/lib/path/index.js
@@ -135,7 +135,7 @@ var NodePath = function () {
};
NodePath.prototype.buildCodeFrameError = function buildCodeFrameError(msg) {
- var Error = arguments.length <= 1 || arguments[1] === undefined ? SyntaxError : arguments[1];
+ var Error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SyntaxError;
return this.hub.file.buildCodeFrameError(this.node, msg, Error);
};
diff --git a/node_modules/babel-traverse/lib/path/inference/index.js b/node_modules/babel-traverse/lib/path/inference/index.js
index 4f6a7edce..d93966378 100644
--- a/node_modules/babel-traverse/lib/path/inference/index.js
+++ b/node_modules/babel-traverse/lib/path/inference/index.js
@@ -85,6 +85,8 @@ function _isBaseType(baseName, type, soft) {
return t.isAnyTypeAnnotation(type);
} else if (baseName === "mixed") {
return t.isMixedTypeAnnotation(type);
+ } else if (baseName === "empty") {
+ return t.isEmptyTypeAnnotation(type);
} else if (baseName === "void") {
return t.isVoidTypeAnnotation(type);
} else {
diff --git a/node_modules/babel-traverse/lib/path/inference/inferers.js b/node_modules/babel-traverse/lib/path/inference/inferers.js
index 5fe093b23..ecce2b482 100644
--- a/node_modules/babel-traverse/lib/path/inference/inferers.js
+++ b/node_modules/babel-traverse/lib/path/inference/inferers.js
@@ -1,7 +1,7 @@
"use strict";
exports.__esModule = true;
-exports.Class = exports.Function = exports.Identifier = undefined;
+exports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = exports.Identifier = undefined;
var _infererReference = require("./inferer-reference");
@@ -163,8 +163,11 @@ function Func() {
return t.genericTypeAnnotation(t.identifier("Function"));
}
-exports.Function = Func;
-exports.Class = Func;
+exports.FunctionExpression = Func;
+exports.ArrowFunctionExpression = Func;
+exports.FunctionDeclaration = Func;
+exports.ClassExpression = Func;
+exports.ClassDeclaration = Func;
function CallExpression() {
return resolveCall(this.get("callee"));
}
diff --git a/node_modules/babel-traverse/lib/path/lib/virtual-types.js b/node_modules/babel-traverse/lib/path/lib/virtual-types.js
index c4261da70..1cb61cc8c 100644
--- a/node_modules/babel-traverse/lib/path/lib/virtual-types.js
+++ b/node_modules/babel-traverse/lib/path/lib/virtual-types.js
@@ -15,7 +15,7 @@ var ReferencedIdentifier = exports.ReferencedIdentifier = {
var node = _ref.node;
var parent = _ref.parent;
- if (!t.isIdentifier(node, opts)) {
+ if (!t.isIdentifier(node, opts) && !t.isJSXMemberExpression(parent, opts)) {
if (t.isJSXIdentifier(node, opts)) {
if (_babelTypes.react.isCompatTag(node.name)) return false;
} else {
diff --git a/node_modules/babel-traverse/lib/path/modification.js b/node_modules/babel-traverse/lib/path/modification.js
index 9c8c7d3e5..a763f6d7b 100644
--- a/node_modules/babel-traverse/lib/path/modification.js
+++ b/node_modules/babel-traverse/lib/path/modification.js
@@ -257,7 +257,7 @@ function pushContainer(listKey, nodes) {
}
function hoist() {
- var scope = arguments.length <= 0 || arguments[0] === undefined ? this.scope : arguments[0];
+ var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.scope;
var hoister = new _hoister2.default(this, scope);
return hoister.run();