function excludeMemberAssignment()

in packages/babel-preset-fbjs/plugins/inline-requires.js [123:145]


function excludeMemberAssignment(moduleName, referencePath, state) {
  const assignment = referencePath.parentPath.parent;

  const isValid =
    assignment.type === 'AssignmentExpression' &&
    assignment.left.type === 'MemberExpression' &&
    assignment.left.object === referencePath.node;
  if (!isValid) {
    return;
  }

  const memberPropertyName = getMemberPropertyName(assignment.left);
  if (memberPropertyName == null) {
    return;
  }

  let membersAssigned = state.membersAssigned.get(moduleName);
  if (membersAssigned == null) {
    membersAssigned = new Set();
    state.membersAssigned.set(moduleName, membersAssigned);
  }
  membersAssigned.add(memberPropertyName);
}