Socket
Socket
Sign inDemoInstall

babel-core

Package Overview
Dependencies
Maintainers
1
Versions
257
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-core - npm Package Compare versions

Comparing version 4.7.5 to 4.7.6

lib/babel/tools/build-external-helpers.js

8

CHANGELOG.md

@@ -16,2 +16,10 @@ # Changelog

## 4.7.6
* **Bug Fix**
* Fix non-Identifier/Literal computed class methods.
* **Polish**
* Add a fallback if `stack` on an error is unconfigurable.
* Hoist `esModule` module declarations to the top of the file to handle circular dependencies better.
## 4.7.5

@@ -18,0 +26,0 @@

2

lib/babel/api/node.js

@@ -29,3 +29,3 @@ "use strict";

exports.traverse = _interopRequire(require("../traversal"));
exports.buildExternalHelpers = _interopRequire(require("../build-external-helpers"));
exports.buildExternalHelpers = _interopRequire(require("../tools/build-external-helpers"));
exports.types = _interopRequire(require("../types"));

@@ -32,0 +32,0 @@ exports.version = require("../../../package").version;

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -21,3 +23,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -24,0 +26,0 @@ function UnaryExpression(node, print) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -37,3 +37,3 @@ exports.AnyTypeAnnotation = AnyTypeAnnotation;

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -40,0 +40,0 @@ function AnyTypeAnnotation() {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -18,3 +20,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -21,0 +23,0 @@ function JSXAttribute(node, print) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -10,3 +10,3 @@ exports._params = _params;

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -13,0 +13,0 @@ function _params(node, print) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -14,3 +16,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -17,0 +19,0 @@ function ImportSpecifier(node, print) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -23,3 +25,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -26,0 +28,0 @@ function WithStatement(node, print) {

@@ -29,3 +29,3 @@ "use strict";

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -32,0 +32,0 @@ var CodeGenerator = (function () {

@@ -17,3 +17,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -20,0 +20,0 @@ var find = function find(obj, node, parent) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -19,3 +21,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -22,0 +24,0 @@ var PRECEDENCE = {};

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -11,3 +13,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -14,0 +16,0 @@ function crawl(node) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -9,3 +11,3 @@

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -12,0 +14,0 @@ var SourceMap = (function () {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -7,0 +7,0 @@ module.exports = function (ast, comments, tokens) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -11,3 +13,3 @@

var t = _interopRequire(require("./types"));
var t = _interopRequireWildcard(require("./types"));

@@ -14,0 +16,0 @@ // estraverse

@@ -27,2 +27,4 @@ "use strict";

var Logger = _interopRequire(require("./logger"));
var parse = _interopRequire(require("../helpers/parse"));

@@ -40,3 +42,3 @@

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -51,3 +53,3 @@ var checkTransformerVisitor = {

each(stack, function (pass) {
if (pass.shouldRun) return;
if (pass.shouldRun || pass.ran) return;
pass.checkNode(node, scope);

@@ -72,2 +74,3 @@ });

this.opts = this.normalizeOptions(opts);
this.log = new Logger(this);
this.ast = {};

@@ -225,8 +228,2 @@

File.prototype.debug = function debug(msg) {
var parts = this.opts.filename;
if (msg) parts += ": " + msg;
util.debug(parts);
};
File.prototype.getModuleFormatter = function getModuleFormatter(type) {

@@ -367,4 +364,2 @@ var ModuleFormatter = isFunction(type) ? type : transform.moduleFormatters[type];

File.prototype.logDeopt = function logDeopt() {};
File.prototype.errorWithNode = function errorWithNode(node, msg) {

@@ -413,3 +408,3 @@ var Error = arguments[2] === undefined ? SyntaxError : arguments[2];

File.prototype.transform = function transform(ast) {
this.debug();
this.log.debug();

@@ -548,4 +543,2 @@ this.ast = ast;

module.exports = File;
// todo, (node, msg)
module.exports = File;
"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -7,3 +9,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -10,0 +12,0 @@ module.exports = function (exports, opts) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
module.exports = build;
var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -9,0 +9,0 @@ function build(node, buildBody) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -7,3 +9,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -10,0 +12,0 @@ module.exports = function (exports, opts) {

@@ -20,3 +20,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -23,0 +23,0 @@ module.exports = function (exports, opts) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -19,3 +21,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -22,0 +24,0 @@ function push(mutatorMap, key, kind, computed, value) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -7,0 +7,0 @@ var getObjRef = function getObjRef(node, nodes, file, scope) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -7,0 +7,0 @@ module.exports = function (node) {

@@ -15,3 +15,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -18,0 +18,0 @@ var visitor = {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.isCreateClass = isCreateClass;

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -11,0 +11,0 @@ var isCreateClassCallExpression = t.buildMatchMemberExpression("React.createClass");

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -10,3 +12,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -13,0 +15,0 @@ function is(node, flag) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -7,0 +7,0 @@ var awaitVisitor = {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -15,3 +13,3 @@

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -18,0 +16,0 @@ function isIllegalBareSuper(node, parent) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.has = has;

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -11,0 +11,0 @@ function has(node) {

@@ -17,3 +17,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -20,0 +20,0 @@ var remapVisitor = {

@@ -21,3 +21,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -24,0 +24,0 @@ var AMDFormatter = (function (DefaultFormatter) {

@@ -17,3 +17,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -40,3 +40,3 @@ var CommonJSFormatter = (function (DefaultFormatter) {

if (this.file.isLoose("es6.modules")) templateName += "-loose";
file.ast.program.body.push(util.template(templateName, true));
file.ast.program.body.unshift(util.template(templateName, true));
}

@@ -43,0 +43,0 @@ };

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -9,0 +9,0 @@ var IgnoreFormatter = (function () {

@@ -23,3 +23,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -26,0 +26,0 @@ var hoistVariablesVisitor = {

@@ -17,3 +17,3 @@ "use strict";

var t = _interopRequire(require("../../types"));
var t = _interopRequireWildcard(require("../../types"));

@@ -20,0 +20,0 @@ var UMDFormatter = (function (AMDFormatter) {

@@ -22,2 +22,3 @@ "use strict";

this.file = file;
this.ran = false;
}

@@ -68,5 +69,7 @@

file.debug("Running transformer " + this.transformer.key);
file.log.debug("Running transformer " + this.transformer.key);
file.scope.traverse(file.ast, this.handlers, file);
this.ran = true;
};

@@ -73,0 +76,0 @@

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.MemberExpression = MemberExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ function MemberExpression(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.Property = Property;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ function Property(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -12,3 +10,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -15,0 +13,0 @@ function check(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.ArrowFunctionExpression = ArrowFunctionExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var check = exports.check = t.isArrowFunctionExpression;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.BlockStatement = BlockStatement;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var visitor = {

@@ -20,3 +20,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -23,0 +23,0 @@ var values = _interopRequire(require("lodash/object/values"));

@@ -24,3 +24,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -27,0 +27,0 @@ var check = exports.check = t.isClass;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -13,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -16,0 +14,0 @@ function check(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -17,3 +15,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -20,0 +18,0 @@ var check = exports.check = t.isPattern;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -13,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -16,0 +14,0 @@ var check = exports.check = t.isForOfStatement;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.ImportDeclaration = ImportDeclaration;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -11,0 +11,0 @@ exports.check = require("../internal/modules").check;

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -10,3 +12,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -13,0 +15,0 @@ function check(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -11,3 +9,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +12,0 @@ function check(node) {

@@ -11,3 +11,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +14,0 @@ var check = exports.check = t.isRestElement;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.check = check;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -11,0 +11,0 @@ function loose(node, body, objId) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.check = check;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -11,0 +11,0 @@ function check(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -12,3 +10,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -15,0 +13,0 @@ function check(node) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -11,3 +13,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +16,0 @@ function getSpreadLiteral(spread, scope) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.UnaryExpression = UnaryExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var optional = exports.optional = true;

@@ -19,3 +19,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -185,3 +185,3 @@ exports.Function = function (node, parent, scope, file) {

if (this.hasDeopt()) {
this.file.logDeopt(node, messages.get("tailCallReassignmentDeopt"));
this.file.log.deopt(node, messages.get("tailCallReassignmentDeopt"));
return;

@@ -188,0 +188,0 @@ }

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -9,3 +9,3 @@ exports.check = check;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -12,0 +12,0 @@ var buildBinaryExpression = function buildBinaryExpression(left, right) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -16,3 +14,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -19,0 +17,0 @@ var experimental = exports.experimental = true;

@@ -15,3 +15,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -18,0 +18,0 @@ var experimental = exports.experimental = true;

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -9,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -12,0 +14,0 @@ var experimental = exports.experimental = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -9,3 +9,3 @@ exports.manipulateOptions = manipulateOptions;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -12,0 +12,0 @@ var experimental = exports.experimental = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.Program = Program;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -11,0 +11,0 @@ var functionChildrenVisitor = {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -11,3 +9,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +12,0 @@ var secondPass = exports.secondPass = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -14,3 +14,3 @@ exports.check = check;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -17,0 +17,0 @@ function check(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.Program = Program;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ function Program(program, parent, scope, file) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -13,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -16,0 +14,0 @@ function ForOfStatement(node, parent, scope, file) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -9,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -12,0 +14,0 @@ function manipulateOptions(opts) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -12,3 +12,3 @@ exports.Flow = Flow;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -15,0 +15,0 @@ function Flow(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -11,3 +9,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +12,0 @@ function manipulateOptions(opts) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -11,3 +9,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +12,0 @@ var JSX_ANNOTATION_REGEX = /^\*\s*@jsx\s+([^\s]+)/;

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -9,3 +11,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -12,0 +14,0 @@ function check(node) {

@@ -20,3 +20,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -23,0 +23,0 @@ var isSymboliterator = t.buildMatchMemberExpression("Symbol.iterator");

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -14,3 +12,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -17,0 +15,0 @@ function Program(program) {

@@ -11,3 +11,3 @@ "use strict";

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -14,0 +14,0 @@ var playground = exports.playground = true;

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -7,3 +9,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -10,0 +12,0 @@ var playground = exports.playground = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -10,3 +10,3 @@ var _toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } };

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -13,0 +13,0 @@ var playground = exports.playground = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.MethodDefinition = MethodDefinition;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var playground = exports.playground = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.BlockStatement = BlockStatement;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ function BlockStatement(node, parent, scope, file) {

@@ -5,2 +5,4 @@ "use strict";

var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.AssignmentExpression = AssignmentExpression;

@@ -10,3 +12,3 @@ exports.ExpressionStatement = ExpressionStatement;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -13,0 +15,0 @@ var pull = _interopRequire(require("lodash/array/pull"));

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.Identifier = Identifier;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var optional = exports.optional = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.ConditionalExpression = ConditionalExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ function toStatements(node) {

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.MemberExpression = MemberExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var optional = exports.optional = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -8,3 +8,3 @@ exports.Expression = Expression;

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -11,0 +11,0 @@ var optional = exports.optional = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.CallExpression = CallExpression;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var isConsole = t.buildMatchMemberExpression("console", true);

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
exports.ExpressionStatement = ExpressionStatement;
var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -9,0 +9,0 @@ var optional = exports.optional = true;

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };

@@ -12,3 +10,3 @@

var t = _interopRequire(require("../../../types"));
var t = _interopRequireWildcard(require("../../../types"));

@@ -15,0 +13,0 @@ // check if the input Literal `source` is an alternate casing of "react"

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -13,3 +15,3 @@

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -16,0 +18,0 @@ var TraversalContext = (function () {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -11,3 +13,3 @@

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -14,0 +16,0 @@ function traverse(parent, opts, scope, state) {

"use strict";
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };

@@ -15,3 +17,3 @@

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -63,2 +65,6 @@ var TraversalPath = (function () {

TraversalPath.prototype.insertBefore = function insertBefore(node) {};
TraversalPath.prototype.insertAfter = function insertAfter(node) {};
TraversalPath.prototype.setData = function setData(key, val) {

@@ -65,0 +71,0 @@ return this.data[key] = val;

@@ -27,3 +27,3 @@ "use strict";

var t = _interopRequire(require("../types"));
var t = _interopRequireWildcard(require("../types"));

@@ -30,0 +30,0 @@ var functionVariableVisitor = {

@@ -5,20 +5,81 @@ "use strict";

var toFastProperties = _interopRequire(require("to-fast-properties"));
/**
* Returns whether `node` is of given `type`.
*
* For better performance, use this instead of `is[Type]` when `type` is unknown.
* Optionally, pass `skipAliasCheck` to directly compare `node.type` with `type`.
*/
var isPlainObject = _interopRequire(require("lodash/lang/isPlainObject"));
exports.is = is;
var isNumber = _interopRequire(require("lodash/lang/isNumber"));
/*
* Description
*/
var isRegExp = _interopRequire(require("lodash/lang/isRegExp"));
exports.shallowEqual = shallowEqual;
var isString = _interopRequire(require("lodash/lang/isString"));
/**
* Description
*/
var compact = _interopRequire(require("lodash/array/compact"));
exports.appendToMemberExpression = appendToMemberExpression;
var esutils = _interopRequire(require("esutils"));
/**
* Description
*/
var object = _interopRequire(require("../helpers/object"));
exports.prependToMemberExpression = prependToMemberExpression;
var clone = _interopRequire(require("lodash/lang/clone"));
/**
* Description
*/
exports.ensureBlock = ensureBlock;
/**
* Description
*/
exports.clone = clone;
/**
* Description
*/
exports.cloneDeep = cloneDeep;
/**
* Build a function that when called will return whether or not the
* input `node` `MemberExpression` matches the input `match`.
*
* For example, given the match `React.createClass` it would match the
* parsed nodes of `React.createClass` and `React["createClass"]`.
*/
exports.buildMatchMemberExpression = buildMatchMemberExpression;
/**
* Description
*/
exports.removeComments = removeComments;
/**
* Description
*/
exports.inheritsComments = inheritsComments;
/**
* Description
*/
exports.inherits = inherits;
var toFastProperties = _interopRequire(require("to-fast-properties"));
var compact = _interopRequire(require("lodash/array/compact"));
var assign = _interopRequire(require("lodash/object/assign"));
var each = _interopRequire(require("lodash/collection/each"));

@@ -28,4 +89,3 @@

var t = {};
module.exports = t;
var t = exports;

@@ -51,9 +111,11 @@ /**

t.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
t.NATIVE_TYPE_NAMES = ["Array", "Object", "Number", "Boolean", "Date", "Array", "String"];
t.FLATTENABLE_KEYS = ["body", "expressions"];
t.FOR_INIT_KEYS = ["left", "init"];
var STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
var NATIVE_TYPE_NAMES = exports.NATIVE_TYPE_NAMES = ["Array", "Object", "Number", "Boolean", "Date", "Array", "String"];
var FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = ["body", "expressions"];
var FOR_INIT_KEYS = exports.FOR_INIT_KEYS = ["left", "init"];
var COMMENT_KEYS = exports.COMMENT_KEYS = ["leadingComments", "trailingComments"];
t.VISITOR_KEYS = require("./visitor-keys");
t.ALIAS_KEYS = require("./alias-keys");
var VISITOR_KEYS = exports.VISITOR_KEYS = require("./visitor-keys");
var BUILDER_KEYS = exports.BUILDER_KEYS = require("./builder-keys");
var ALIAS_KEYS = exports.ALIAS_KEYS = require("./alias-keys");

@@ -80,12 +142,4 @@ t.FLIPPED_ALIAS_KEYS = {};

t.TYPES = Object.keys(t.VISITOR_KEYS).concat(Object.keys(t.FLIPPED_ALIAS_KEYS));
/**
* Returns whether `node` is of given `type`.
*
* For better performance, use this instead of `is[Type]` when `type` is unknown.
* Optionally, pass `skipAliasCheck` to directly compare `node.type` with `type`.
*/
t.is = function (type, node, opts, skipAliasCheck) {
var TYPES = exports.TYPES = Object.keys(t.VISITOR_KEYS).concat(Object.keys(t.FLIPPED_ALIAS_KEYS));
function is(type, node, opts, skipAliasCheck) {
if (!node) return false;

@@ -112,8 +166,4 @@

return true;
};
}
//
t.BUILDER_KEYS = require("./builder-keys");
each(t.VISITOR_KEYS, function (keys, type) {

@@ -146,57 +196,3 @@ if (t.BUILDER_KEYS[type]) return;

});
/**
* Description
*/
t.toComputedKey = function (node) {
var key = arguments[1] === undefined ? node.key : arguments[1];
return (function () {
if (!node.computed) {
if (t.isIdentifier(key)) key = t.literal(key.name);
}
return key;
})();
};
/**
* Turn an array of statement `nodes` into a `SequenceExpression`.
*
* Variable declarations are turned into simple assignments and their
* declarations hoisted to the top of the current scope.
*
* Expression statements are just resolved to their standard expression.
*/
t.toSequenceExpression = function (nodes, scope) {
var exprs = [];
each(nodes, function (node) {
if (t.isExpression(node)) {
exprs.push(node);
}if (t.isExpressionStatement(node)) {
exprs.push(node.expression);
} else if (t.isVariableDeclaration(node)) {
each(node.declarations, function (declar) {
scope.push({
kind: node.kind,
id: declar.id
});
exprs.push(t.assignmentExpression("=", declar.id, declar.init));
});
}
});
if (exprs.length === 1) {
return exprs[0];
} else {
return t.sequenceExpression(exprs);
}
};
/*
* Description
*/
t.shallowEqual = function (actual, expected) {
function shallowEqual(actual, expected) {
var keys = Object.keys(expected);

@@ -213,9 +209,5 @@

return true;
};
}
/**
* Description
*/
t.appendToMemberExpression = function (member, append, computed) {
function appendToMemberExpression(member, append, computed) {
member.object = t.memberExpression(member.object, member.property, member.computed);

@@ -225,178 +217,16 @@ member.property = append;

return member;
};
}
/**
* Description
*/
t.prependToMemberExpression = function (member, append) {
function prependToMemberExpression(member, append) {
member.object = t.memberExpression(append, member.object);
return member;
};
}
/**
* Check if the input `node` is a reference to a bound variable.
*/
t.isReferenced = function (node, parent) {
// yes: PARENT[NODE]
// yes: NODE.child
// no: parent.CHILD
if (t.isMemberExpression(parent)) {
if (parent.property === node && parent.computed) {
return true;
} else if (parent.object === node) {
return true;
} else {
return false;
}
}
// yes: { [NODE]: "" }
// no: { NODE: "" }
if (t.isProperty(parent) && parent.key === node) {
return parent.computed;
}
// no: var NODE = init;
// yes: var id = NODE;
if (t.isVariableDeclarator(parent)) {
return parent.id !== node;
}
// no: function NODE() {}
// no: function foo(NODE) {}
if (t.isFunction(parent)) {
for (var i = 0; i < parent.params.length; i++) {
var param = parent.params[i];
if (param === node) return false;
}
return parent.id !== node;
}
// no: export { foo as NODE };
if (t.isExportSpecifier(parent, { name: node })) {
return false;
}
// no: import { NODE as foo } from "foo";
if (t.isImportSpecifier(parent, { id: node })) {
return false;
}
// no: class NODE {}
if (t.isClass(parent)) {
return parent.id !== node;
}
// yes: class { [NODE](){} }
if (t.isMethodDefinition(parent)) {
return parent.key === node && parent.computed;
}
// no: NODE: for (;;) {}
if (t.isLabeledStatement(parent)) {
return false;
}
// no: try {} catch (NODE) {}
if (t.isCatchClause(parent)) {
return parent.param !== node;
}
// no: function foo(...NODE) {}
if (t.isRestElement(parent)) {
return false;
}
// no: [NODE = foo] = [];
// yes: [foo = NODE] = [];
if (t.isAssignmentPattern(parent)) {
return parent.right === node;
}
// no: [NODE] = [];
// no: ({ NODE }) = [];
if (t.isPattern(parent)) {
return false;
}
// no: import NODE from "bar";
if (t.isImportSpecifier(parent)) {
return false;
}
// no: import * as NODE from "foo";
if (t.isImportBatchSpecifier(parent)) {
return false;
}
// no: class Foo { private NODE; }
if (t.isPrivateDeclaration(parent)) {
return false;
}
return true;
};
/**
* Check if the input `node` is an `Identifier` and `isReferenced`.
*/
t.isReferencedIdentifier = function (node, parent, opts) {
return t.isIdentifier(node, opts) && t.isReferenced(node, parent);
};
/**
* Check if the input `name` is a valid identifier name
* and isn't a reserved word.
*/
t.isValidIdentifier = function (name) {
return isString(name) && esutils.keyword.isIdentifierName(name) && !esutils.keyword.isReservedWordES6(name, true);
};
/*
* Description
*/
t.toIdentifier = function (name) {
if (t.isIdentifier(name)) return name.name;
name = name + "";
// replace all non-valid identifiers with dashes
name = name.replace(/[^a-zA-Z0-9$_]/g, "-");
// remove all dashes and numbers from start of name
name = name.replace(/^[-0-9]+/, "");
// camel case
name = name.replace(/[-\s]+(.)?/g, function (match, c) {
return c ? c.toUpperCase() : "";
});
if (!t.isValidIdentifier(name)) {
name = "_" + name;
}
return name || "_";
};
/**
* Description
*/
t.ensureBlock = function (node) {
function ensureBlock(node) {
var key = arguments[1] === undefined ? "body" : arguments[1];
return node[key] = t.toBlock(node[key], node);
};
}
/**
* Description
*/
t.clone = function (node) {
function clone(node) {
var newNode = {};

@@ -408,9 +238,5 @@ for (var key in node) {

return newNode;
};
}
/**
* Description
*/
t.cloneDeep = function (node) {
function cloneDeep(node) {
var newNode = {};

@@ -435,13 +261,5 @@

return newNode;
};
}
/**
* Build a function that when called will return whether or not the
* input `node` `MemberExpression` matches the input `match`.
*
* For example, given the match `React.createClass` it would match the
* parsed nodes of `React.createClass` and `React["createClass"]`.
*/
t.buildMatchMemberExpression = function (match, allowPartial) {
function buildMatchMemberExpression(match, allowPartial) {
var parts = match.split(".");

@@ -491,208 +309,19 @@

};
};
}
/**
* Description
*
* @returns {Object|Boolean}
*/
t.toStatement = function (node, ignore) {
if (t.isStatement(node)) {
return node;
}
var mustHaveId = false;
var newType;
if (t.isClass(node)) {
mustHaveId = true;
newType = "ClassDeclaration";
} else if (t.isFunction(node)) {
mustHaveId = true;
newType = "FunctionDeclaration";
} else if (t.isAssignmentExpression(node)) {
return t.expressionStatement(node);
}
if (mustHaveId && !node.id) {
newType = false;
}
if (!newType) {
if (ignore) {
return false;
} else {
throw new Error("cannot turn " + node.type + " to a statement");
}
}
node.type = newType;
return node;
};
/**
* Description
*/
t.toExpression = function (node) {
if (t.isExpressionStatement(node)) {
node = node.expression;
}
if (t.isClass(node)) {
node.type = "ClassExpression";
} else if (t.isFunction(node)) {
node.type = "FunctionExpression";
}
if (t.isExpression(node)) {
return node;
} else {
throw new Error("cannot turn " + node.type + " to an expression");
}
};
/**
* Description
*/
t.toBlock = function (node, parent) {
if (t.isBlockStatement(node)) {
return node;
}
if (t.isEmptyStatement(node)) {
node = [];
}
if (!Array.isArray(node)) {
if (!t.isStatement(node)) {
if (t.isFunction(parent)) {
node = t.returnStatement(node);
} else {
node = t.expressionStatement(node);
}
}
node = [node];
}
return t.blockStatement(node);
};
/**
* Return a list of binding identifiers associated with
* the input `node`.
*/
t.getBindingIdentifiers = function (node) {
var search = [].concat(node);
var ids = object();
while (search.length) {
var id = search.shift();
if (!id) continue;
var keys = t.getBindingIdentifiers.keys[id.type];
if (t.isIdentifier(id)) {
ids[id.name] = id;
} else if (t.isImportSpecifier(id)) {
search.push(id.name || id.id);
} else if (t.isExportDeclaration(id)) {
if (t.isDeclaration(node.declaration)) {
search.push(node.declaration);
}
} else if (keys) {
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
search = search.concat(id[key] || []);
}
}
}
return ids;
};
t.getBindingIdentifiers.keys = {
UnaryExpression: ["argument"],
AssignmentExpression: ["left"],
ImportBatchSpecifier: ["name"],
VariableDeclarator: ["id"],
FunctionDeclaration: ["id"],
FunctionExpression: ["id"],
ClassDeclaration: ["id"],
ClassExpression: ["id"],
SpreadElement: ["argument"],
RestElement: ["argument"],
UpdateExpression: ["argument"],
SpreadProperty: ["argument"],
Property: ["value"],
ComprehensionBlock: ["left"],
AssignmentPattern: ["left"],
PrivateDeclaration: ["declarations"],
ComprehensionExpression: ["blocks"],
ImportDeclaration: ["specifiers"],
VariableDeclaration: ["declarations"],
ArrayPattern: ["elements"],
ObjectPattern: ["properties"]
};
/**
* Description
*/
t.isLet = function (node) {
return t.isVariableDeclaration(node) && (node.kind !== "var" || node._let);
};
/**
* Description
*/
t.isBlockScoped = function (node) {
return t.isFunctionDeclaration(node) || t.isClassDeclaration(node) || t.isLet(node);
};
/**
* Description
*/
t.isVar = function (node) {
return t.isVariableDeclaration(node, { kind: "var" }) && !node._let;
};
//
t.COMMENT_KEYS = ["leadingComments", "trailingComments"];
/**
* Description
*/
t.removeComments = function (child) {
each(t.COMMENT_KEYS, function (key) {
function removeComments(child) {
each(COMMENT_KEYS, function (key) {
delete child[key];
});
return child;
};
}
/**
* Description
*/
t.inheritsComments = function (child, parent) {
each(t.COMMENT_KEYS, function (key) {
function inheritsComments(child, parent) {
each(COMMENT_KEYS, function (key) {
child[key] = uniq(compact([].concat(child[key], parent[key])));
});
return child;
};
}
/**
* Description
*/
t.inherits = function (child, parent) {
function inherits(child, parent) {
child._declarations = parent._declarations;

@@ -710,303 +339,12 @@ child._scopeInfo = parent._scopeInfo;

return child;
};
}
/**
* Description
*/
t.getLastStatements = function (node) {
var nodes = [];
var add = function add(node) {
nodes = nodes.concat(t.getLastStatements(node));
};
if (t.isIfStatement(node)) {
add(node.consequent);
add(node.alternate);
} else if (t.isFor(node) || t.isWhile(node)) {
add(node.body);
} else if (t.isProgram(node) || t.isBlockStatement(node)) {
add(node.body[node.body.length - 1]);
} else if (node) {
nodes.push(node);
}
return nodes;
};
/**
* Description
*/
t.toKeyAlias = function (node) {
var key = arguments[1] === undefined ? node.key : arguments[1];
return (function () {
var alias;
if (t.isIdentifier(key)) {
alias = key.name;
} else if (t.isLiteral(key)) {
alias = JSON.stringify(key.value);
} else {
alias = JSON.stringify(traverse.removeProperties(t.cloneDeep(key)));
}
if (node.computed) alias = "[" + alias + "]";
return alias;
})();
};
/**
* Description
*/
t.getSpecifierName = function (specifier) {
return specifier.name || specifier.id;
};
/**
* Description
*/
t.getSpecifierId = function (specifier) {
if (specifier["default"]) {
return t.identifier("default");
} else {
return specifier.id;
}
};
/**
* Description
*/
t.isSpecifierDefault = function (specifier) {
return specifier["default"] || t.isIdentifier(specifier.id) && specifier.id.name === "default";
};
/**
* Description
*/
t.isScope = function (node, parent) {
if (t.isBlockStatement(node)) {
if (t.isLoop(parent.block, { body: node })) {
return false;
}
if (t.isFunction(parent.block, { body: node })) {
return false;
}
}
return t.isScopable(node);
};
/**
* Description
*/
t.isImmutable = function (node) {
if (t.isLiteral(node)) {
if (node.regex) {
// regexes are mutable
return false;
} else {
// immutable!
return true;
}
} else if (t.isIdentifier(node)) {
if (node.name === "undefined") {
// immutable!
return true;
} else {
// no idea...
return false;
}
}
return false;
};
/**
* Walk the input `node` and statically evaluate if it's truthy.
*
* Returning `true` when we're sure that the expression will evaluate to a
* truthy value, `false` if we're sure that it will evaluate to a falsy
* value and `undefined` if we aren't sure. Because of this please do not
* rely on coercion when using this method and check with === if it's false.
*
* For example do:
*
* if (t.evaluateTruthy(node) === false) falsyLogic();
*
* **AND NOT**
*
* if (!t.evaluateTruthy(node)) falsyLogic();
*
*/
t.evaluateTruthy = function (node, scope) {
var res = t.evaluate(node, scope);
if (res.confident) return !!res.value;
};
/**
* Walk the input `node` and statically evaluate it.
*
* Returns an pbject in the form `{ confident, value }`. `confident` indicates
* whether or not we had to drop out of evaluating the expression because of
* hitting an unknown node that we couldn't confidently find the value of.
*
* Example:
*
* t.evaluate(parse("5 + 5")) // { confident: true, value: 10 }
* t.evaluate(parse("!true")) // { confident: true, value: false }
* t.evaluate(parse("foo + foo")) // { confident: false, value: undefined }
*
*/
t.evaluate = function (node, scope) {
var confident = true;
var value = evaluate(node);
if (!confident) value = undefined;
return {
confident: confident,
value: value
};
function evaluate(node) {
if (!confident) return;
if (t.isSequenceExpression(node)) {
return evaluate(node.expressions[node.expressions.length - 1]);
}
if (t.isLiteral(node)) {
if (node.regex && node.value === null) {} else {
return node.value;
}
}
if (t.isConditionalExpression(node)) {
if (evaluate(node.test)) {
return evaluate(node.consequent);
} else {
return evaluate(node.alternate);
}
}
if (t.isIdentifier(node)) {
if (node.name === "undefined") {
return undefined;
} else {
return evaluate(scope.getImmutableBindingValue(node.name));
}
}
if (t.isUnaryExpression(node, { prefix: true })) {
var arg = evaluate(node.argument);
switch (node.operator) {
case "void":
return undefined;
case "!":
return !arg;
case "+":
return +arg;
case "-":
return -arg;
}
}
if (t.isArrayExpression(node) || t.isObjectExpression(node)) {}
if (t.isLogicalExpression(node)) {
var left = evaluate(node.left);
var right = evaluate(node.right);
switch (node.operator) {
case "||":
return left || right;
case "&&":
return left && right;
}
}
if (t.isBinaryExpression(node)) {
var left = evaluate(node.left);
var right = evaluate(node.right);
switch (node.operator) {
case "-":
return left - right;
case "+":
return left + right;
case "/":
return left / right;
case "*":
return left * right;
case "%":
return left % right;
case "<":
return left < right;
case ">":
return left > right;
case "<=":
return left <= right;
case ">=":
return left >= right;
case "==":
return left == right;
case "!=":
return left != right;
case "===":
return left === right;
case "!==":
return left !== right;
}
}
confident = false;
}
};
/**
* Description
*/
t.valueToNode = function (value) {
if (value === undefined) {
return t.identifier("undefined");
}
if (value === true || value === false || value === null || isString(value) || isNumber(value) || isRegExp(value)) {
return t.literal(value);
}
if (Array.isArray(value)) {
return t.arrayExpression(value.map(t.valueToNode));
}
if (isPlainObject(value)) {
var props = [];
for (var key in value) {
var nodeKey;
if (t.isValidIdentifier(key)) {
nodeKey = t.identifier(key);
} else {
nodeKey = t.literal(key);
}
props.push(t.property("init", nodeKey, t.valueToNode(value[key])));
}
return t.objectExpression(props);
}
throw new Error("don't know how to turn this value into a node");
};
toFastProperties(t);
toFastProperties(t.VISITOR_KEYS);
// we have a regex and we can't represent it natively
// we could evaluate these but it's probably impractical and not very useful
exports.__esModule = true;
assign(t, require("./evaluators"));
assign(t, require("./retrievers"));
assign(t, require("./validators"));
assign(t, require("./converters"));
exports.__esModule = true;

@@ -49,3 +49,3 @@ "use strict";

var t = _interopRequire(require("./types"));
var t = _interopRequireWildcard(require("./types"));

@@ -52,0 +52,0 @@ var _util = require("util");

{
"name": "babel-core",
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
"version": "4.7.5",
"version": "4.7.6",
"author": "Sebastian McKenzie <sebmck@gmail.com>",

@@ -6,0 +6,0 @@ "homepage": "https://babeljs.io/",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc