'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isObjectAssignOrExtendsExpression = isObjectAssignOrExtendsExpression;
exports.isObjectAssignExpression = isObjectAssignExpression;
exports.isExtendsHelperExpression = isExtendsHelperExpression;
exports.isIdentifierNamed = isIdentifierNamed;
require('source-map-support/register');
var _babelTypes = require('babel-types');
var t = _interopRequireWildcard(_babelTypes);
function _interopRequireWildcard(obj) { Eif (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; } }
// console.log("T:", require('util').inspect(t, { depth: null }));
// export function isIdentifier(node) {
// return node && node.type === 'Identifier'
// }
// export function isObjectLiteral(node) {
// return node && node.type === 'ObjectExpression'
// }
function isObjectAssignOrExtendsExpression(node) {
return isObjectAssignExpression(node) || isExtendsHelperExpression(node);
}
function isObjectAssignExpression(node) {
Iif (!t.isCallExpression(node)) return false;
const callee = node && node.callee;
return !!(callee.object && callee.property && callee.object.name === 'Object' && callee.property.name === 'assign');
}
// export function isCallExpression(node) {
// return node && node.type === 'CallExpression'
// }
function isExtendsHelperExpression(node) {
Iif (!t.isCallExpression(node)) return false;
const callee = node && node.callee;
return isIdentifierNamed(callee, '_extends');
}
function isIdentifierNamed(node, name) {
return t.isIdentifier(node) && node.name === name;
} |