2015-02-02 00:50:25 +11:00

32 lines
957 B
JavaScript

var t = require("../../types");
exports.isCreateClassCallExpression = function (node) {
if (!node || !t.isCallExpression(node)) return false;
var callee = node.callee;
if (!t.isMemberExpression(callee)) return false;
// not React call member object
if (!t.isIdentifier(callee.object, { name: "React" })) return false;
// not createClass call member property
if (!t.isIdentifier(callee.property, { name: "createClass" })) return false;
// no call arguments
var args = node.arguments;
if (args.length !== 1) return false;
// first node arg is not an object
var first = args[0];
if (!t.isObjectExpression(first)) return false;
return true;
};
exports.isReactComponentMemberExpression = function (node) {
if (!node || !t.isMemberExpression(node)) return false;
if (!t.isIdentifier(node.object, { name: "React" })) return false;
if (!t.isIdentifier(node.property, { name: "Component" })) return false;
return true;
};