All files ast-helpers.js

37.04% Statements 10/27
12.5% Branches 3/24
20% Functions 1/5
52.94% Lines 9/17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52    1x     1x 1x 1x 1x   1x   1x   1x   1x                                                                      
'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) {
  if (!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) {
  if (!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;
}