isExportsOrModuleAssignment.js 501 B

1234567891011121314
  1. import * as expressionTo from './expressionTo.js';
  2. /**
  3. * Returns true if the expression is of form `exports.foo = ...;` or
  4. * `modules.exports = ...;`.
  5. */
  6. export default function isExportsOrModuleAssignment(path) {
  7. if (!path.isAssignmentExpression() ||
  8. !path.get('left').isMemberExpression()) {
  9. return false;
  10. }
  11. const exprArr = expressionTo.Array(path.get('left'));
  12. return ((exprArr[0] === 'module' && exprArr[1] === 'exports') ||
  13. exprArr[0] === 'exports');
  14. }