function getAnnotationCandidates(node) {
  var callExpression = testNode.isModuleExpression(node) && node.parent;
  if (callExpression) {
    return callExpression['arguments']
      .filter(testNode.anyOf(testNode.isFunction, testNode.isIdentifier))
      .pop();
  } else {
    return null;
  }
}
function getAnnotationCandidates(node) {
  var callExpression = testNode.isModuleExpression(node) && node.parent;
  if (callExpression) {
    return callExpression['arguments']
      .filter(testNode.anyOf(testNode.isFunction, testNode.isIdentifier))
      .pop();
  } else {
    return null;
  }
}
function getAnnotationCandidates ( node ) { var callExpression = testNode . isModuleExpression ( node ) && node . parent ; if ( callExpression ) { return callExpression [ 'arguments' ] . filter ( testNode . anyOf ( testNode . isFunction , testNode . isIdentifier ) ) . pop ( ) ; } else { return null ; } }
Find inject candidates
@param {object} node An esprima syntax tree
@returns {object|null} A node that may need annotation, or null where not suitable
Find inject candidates