isReactCreateClassCall.js 899 B

1234567891011121314151617181920212223242526272829
  1. import resolveToModule from './resolveToModule.js';
  2. import isReactBuiltinCall from './isReactBuiltinCall.js';
  3. /**
  4. * Returns true if the expression is a function call of the form
  5. * ```
  6. * import createReactClass from 'create-react-class';
  7. * createReactClass(...);
  8. * ```
  9. */
  10. function isReactCreateClassCallModular(path) {
  11. if (!path.isCallExpression()) {
  12. return false;
  13. }
  14. const module = resolveToModule(path);
  15. return Boolean(module && module === 'create-react-class');
  16. }
  17. /**
  18. * Returns true if the expression is a function call of the form
  19. * `React.createClass(...)` or
  20. * ```
  21. * import createReactClass from 'create-react-class';
  22. * createReactClass(...);
  23. * ```
  24. */
  25. export default function isReactCreateClassCall(path) {
  26. return ((isReactBuiltinCall(path, 'createClass') &&
  27. path.get('arguments').length === 1) ||
  28. isReactCreateClassCallModular(path));
  29. }