diff options
Diffstat (limited to 'node_modules/babel-helper-explode-assignable-expression/lib')
-rw-r--r-- | node_modules/babel-helper-explode-assignable-expression/lib/index.js | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/node_modules/babel-helper-explode-assignable-expression/lib/index.js b/node_modules/babel-helper-explode-assignable-expression/lib/index.js deleted file mode 100644 index 3604315..0000000 --- a/node_modules/babel-helper-explode-assignable-expression/lib/index.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; - -exports.__esModule = true; - -exports.default = function (node, nodes, file, scope, allowedSingleIdent) { - var obj = void 0; - if (t.isIdentifier(node) && allowedSingleIdent) { - obj = node; - } else { - obj = getObjRef(node, nodes, file, scope); - } - - var ref = void 0, - uid = void 0; - - if (t.isIdentifier(node)) { - ref = node; - uid = obj; - } else { - var prop = getPropRef(node, nodes, file, scope); - var computed = node.computed || t.isLiteral(prop); - uid = ref = t.memberExpression(obj, prop, computed); - } - - return { - uid: uid, - ref: ref - }; -}; - -var _babelTypes = require("babel-types"); - -var t = _interopRequireWildcard(_babelTypes); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function getObjRef(node, nodes, file, scope) { - var ref = void 0; - if (t.isSuper(node)) { - return node; - } else if (t.isIdentifier(node)) { - if (scope.hasBinding(node.name)) { - return node; - } else { - ref = node; - } - } else if (t.isMemberExpression(node)) { - ref = node.object; - - if (t.isSuper(ref) || t.isIdentifier(ref) && scope.hasBinding(ref.name)) { - return ref; - } - } else { - throw new Error("We can't explode this node type " + node.type); - } - - var temp = scope.generateUidIdentifierBasedOnNode(ref); - nodes.push(t.variableDeclaration("var", [t.variableDeclarator(temp, ref)])); - return temp; -} - -function getPropRef(node, nodes, file, scope) { - var prop = node.property; - var key = t.toComputedKey(node, prop); - if (t.isLiteral(key) && t.isPureish(key)) return key; - - var temp = scope.generateUidIdentifierBasedOnNode(prop); - nodes.push(t.variableDeclaration("var", [t.variableDeclarator(temp, prop)])); - return temp; -} - -module.exports = exports["default"];
\ No newline at end of file |