diff options
Diffstat (limited to 'node_modules/babel-helper-explode-class')
4 files changed, 143 insertions, 0 deletions
diff --git a/node_modules/babel-helper-explode-class/.npmignore b/node_modules/babel-helper-explode-class/.npmignore new file mode 100644 index 0000000..47cdd2c --- /dev/null +++ b/node_modules/babel-helper-explode-class/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/node_modules/babel-helper-explode-class/README.md b/node_modules/babel-helper-explode-class/README.md new file mode 100644 index 0000000..cb4474a --- /dev/null +++ b/node_modules/babel-helper-explode-class/README.md @@ -0,0 +1,5 @@ +# babel-helper-explode-class + +## Usage + +TODO diff --git a/node_modules/babel-helper-explode-class/lib/index.js b/node_modules/babel-helper-explode-class/lib/index.js new file mode 100644 index 0000000..b9bc56b --- /dev/null +++ b/node_modules/babel-helper-explode-class/lib/index.js @@ -0,0 +1,93 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.default = function (classPath) { + classPath.assertClass(); + + var memoisedExpressions = []; + + function maybeMemoise(path) { + if (!path.node || path.isPure()) return; + + var uid = classPath.scope.generateDeclaredUidIdentifier(); + memoisedExpressions.push(t.assignmentExpression("=", uid, path.node)); + path.replaceWith(uid); + } + + function memoiseDecorators(paths) { + if (!Array.isArray(paths) || !paths.length) return; + + paths = paths.reverse(); + + (0, _babelHelperBindifyDecorators2.default)(paths); + + for (var _iterator = paths, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var path = _ref; + + maybeMemoise(path); + } + } + + maybeMemoise(classPath.get("superClass")); + memoiseDecorators(classPath.get("decorators"), true); + + var methods = classPath.get("body.body"); + for (var _iterator2 = methods, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var methodPath = _ref2; + + if (methodPath.is("computed")) { + maybeMemoise(methodPath.get("key")); + } + + if (methodPath.has("decorators")) { + memoiseDecorators(classPath.get("decorators")); + } + } + + if (memoisedExpressions) { + classPath.insertBefore(memoisedExpressions.map(function (expr) { + return t.expressionStatement(expr); + })); + } +}; + +var _babelHelperBindifyDecorators = require("babel-helper-bindify-decorators"); + +var _babelHelperBindifyDecorators2 = _interopRequireDefault(_babelHelperBindifyDecorators); + +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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = exports["default"];
\ No newline at end of file diff --git a/node_modules/babel-helper-explode-class/package.json b/node_modules/babel-helper-explode-class/package.json new file mode 100644 index 0000000..853f696 --- /dev/null +++ b/node_modules/babel-helper-explode-class/package.json @@ -0,0 +1,42 @@ +{ + "_from": "babel-helper-explode-class@^6.24.1", + "_id": "babel-helper-explode-class@6.24.1", + "_inBundle": false, + "_integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "_location": "/babel-helper-explode-class", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-helper-explode-class@^6.24.1", + "name": "babel-helper-explode-class", + "escapedName": "babel-helper-explode-class", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/babel-plugin-transform-decorators" + ], + "_resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "_shasum": "7dc2a3910dee007056e1e31d640ced3d54eaa9eb", + "_spec": "babel-helper-explode-class@^6.24.1", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/babel-plugin-transform-decorators", + "bundleDependencies": false, + "dependencies": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + }, + "deprecated": false, + "description": "Helper function to explode class", + "license": "MIT", + "main": "lib/index.js", + "name": "babel-helper-explode-class", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-class" + }, + "version": "6.24.1" +} |