diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:38:50 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:40:43 +0200 |
commit | 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch) | |
tree | 6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/babel-helper-explode-assignable-expression | |
parent | 963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff) | |
download | wallet-core-7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027.tar.xz |
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/babel-helper-explode-assignable-expression')
4 files changed, 93 insertions, 0 deletions
diff --git a/node_modules/babel-helper-explode-assignable-expression/.npmignore b/node_modules/babel-helper-explode-assignable-expression/.npmignore new file mode 100644 index 000000000..47cdd2c65 --- /dev/null +++ b/node_modules/babel-helper-explode-assignable-expression/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/node_modules/babel-helper-explode-assignable-expression/README.md b/node_modules/babel-helper-explode-assignable-expression/README.md new file mode 100644 index 000000000..d8d90aeb8 --- /dev/null +++ b/node_modules/babel-helper-explode-assignable-expression/README.md @@ -0,0 +1,5 @@ +# babel-helper-explode-assignable-expression + +## Usage + +TODO diff --git a/node_modules/babel-helper-explode-assignable-expression/lib/index.js b/node_modules/babel-helper-explode-assignable-expression/lib/index.js new file mode 100644 index 000000000..3604315b5 --- /dev/null +++ b/node_modules/babel-helper-explode-assignable-expression/lib/index.js @@ -0,0 +1,72 @@ +"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 diff --git a/node_modules/babel-helper-explode-assignable-expression/package.json b/node_modules/babel-helper-explode-assignable-expression/package.json new file mode 100644 index 000000000..264e806b0 --- /dev/null +++ b/node_modules/babel-helper-explode-assignable-expression/package.json @@ -0,0 +1,13 @@ +{ + "name": "babel-helper-explode-assignable-expression", + "version": "6.24.1", + "description": "Helper function to explode an assignable expression", + "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression", + "license": "MIT", + "main": "lib/index.js", + "dependencies": { + "babel-traverse": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } +} |