summaryrefslogtreecommitdiff
path: root/node_modules/babel-types/lib/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/babel-types/lib/index.js')
-rw-r--r--node_modules/babel-types/lib/index.js32
1 files changed, 17 insertions, 15 deletions
diff --git a/node_modules/babel-types/lib/index.js b/node_modules/babel-types/lib/index.js
index 93619fe9e..4c0070300 100644
--- a/node_modules/babel-types/lib/index.js
+++ b/node_modules/babel-types/lib/index.js
@@ -1,7 +1,7 @@
"use strict";
exports.__esModule = true;
-exports.createTypeAnnotationBasedOnTypeof = exports.removeTypeDuplicates = exports.createUnionTypeAnnotation = exports.valueToNode = exports.toBlock = exports.toExpression = exports.toStatement = exports.toBindingIdentifierName = exports.toIdentifier = exports.toKeyAlias = exports.toSequenceExpression = exports.toComputedKey = exports.isImmutable = exports.isScope = exports.isSpecifierDefault = exports.isVar = exports.isBlockScoped = exports.isLet = exports.isValidIdentifier = exports.isReferenced = exports.isBinding = exports.getOuterBindingIdentifiers = exports.getBindingIdentifiers = exports.TYPES = exports.react = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = undefined;
+exports.createTypeAnnotationBasedOnTypeof = exports.removeTypeDuplicates = exports.createUnionTypeAnnotation = exports.valueToNode = exports.toBlock = exports.toExpression = exports.toStatement = exports.toBindingIdentifierName = exports.toIdentifier = exports.toKeyAlias = exports.toSequenceExpression = exports.toComputedKey = exports.isNodesEquivalent = exports.isImmutable = exports.isScope = exports.isSpecifierDefault = exports.isVar = exports.isBlockScoped = exports.isLet = exports.isValidIdentifier = exports.isReferenced = exports.isBinding = exports.getOuterBindingIdentifiers = exports.getBindingIdentifiers = exports.TYPES = exports.react = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = undefined;
var _getOwnPropertySymbols = require("babel-runtime/core-js/object/get-own-property-symbols");
@@ -229,6 +229,12 @@ Object.defineProperty(exports, "isImmutable", {
return _validators.isImmutable;
}
});
+Object.defineProperty(exports, "isNodesEquivalent", {
+ enumerable: true,
+ get: function get() {
+ return _validators.isNodesEquivalent;
+ }
+});
var _converters = require("./converters");
@@ -312,18 +318,10 @@ var _toFastProperties = require("to-fast-properties");
var _toFastProperties2 = _interopRequireDefault(_toFastProperties);
-var _compact = require("lodash/compact");
-
-var _compact2 = _interopRequireDefault(_compact);
-
var _clone = require("lodash/clone");
var _clone2 = _interopRequireDefault(_clone);
-var _each = require("lodash/each");
-
-var _each2 = _interopRequireDefault(_each);
-
var _uniq = require("lodash/uniq");
var _uniq2 = _interopRequireDefault(_uniq);
@@ -372,15 +370,15 @@ for (var type in t.VISITOR_KEYS) {
t.FLIPPED_ALIAS_KEYS = {};
-(0, _each2.default)(t.ALIAS_KEYS, function (aliases, type) {
- (0, _each2.default)(aliases, function (alias) {
+(0, _keys2.default)(t.ALIAS_KEYS).forEach(function (type) {
+ t.ALIAS_KEYS[type].forEach(function (alias) {
var types = t.FLIPPED_ALIAS_KEYS[alias] = t.FLIPPED_ALIAS_KEYS[alias] || [];
types.push(type);
});
});
-(0, _each2.default)(t.FLIPPED_ALIAS_KEYS, function (types, type) {
- t[type.toUpperCase() + "_TYPES"] = types;
+(0, _keys2.default)(t.FLIPPED_ALIAS_KEYS).forEach(function (type) {
+ t[type.toUpperCase() + "_TYPES"] = t.FLIPPED_ALIAS_KEYS[type];
registerType(type);
});
@@ -429,7 +427,9 @@ function isType(nodeType, targetType) {
return false;
}
-(0, _each2.default)(t.BUILDER_KEYS, function (keys, type) {
+(0, _keys2.default)(t.BUILDER_KEYS).forEach(function (type) {
+ var keys = t.BUILDER_KEYS[type];
+
function builder() {
if (arguments.length > keys.length) {
throw new Error("t." + type + ": Too many arguments passed. Received " + arguments.length + " but can receive " + ("no more than " + keys.length));
@@ -549,6 +549,7 @@ function ensureBlock(node) {
}
function clone(node) {
+ if (!node) return node;
var newNode = {};
for (var key in node) {
if (key[0] === "_") continue;
@@ -564,6 +565,7 @@ function cloneWithoutLoc(node) {
}
function cloneDeep(node) {
+ if (!node) return node;
var newNode = {};
for (var key in node) {
@@ -667,7 +669,7 @@ function inheritInnerComments(child, parent) {
function _inheritComments(key, child, parent) {
if (child && parent) {
- child[key] = (0, _uniq2.default)((0, _compact2.default)([].concat(child[key], parent[key])));
+ child[key] = (0, _uniq2.default)([].concat(child[key], parent[key]).filter(Boolean));
}
}