diff options
Diffstat (limited to 'node_modules/babel-traverse/lib/path')
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(); |