function updater(file, ast) {
    if (ast.comments) {
      ast.comments
        .filter(testDocTag)
        .map(getAnnotatedNode)
        .concat(inferAngular(ast))    // find the items that are not explicitly annotated
        .filter(testFirstOccurrence)  // ensure unique values
        .forEach(processNode);
    } else {
      errorFn('Esprima AST is required to have top-level comments array');
    }
    return ast;
  }
function updater(file, ast) {
    if (ast.comments) {
      ast.comments
        .filter(testDocTag)
        .map(getAnnotatedNode)
        .concat(inferAngular(ast))    
        .filter(testFirstOccurrence)  
        .forEach(processNode);
    } else {
      errorFn('Esprima AST is required to have top-level comments array');
    }
    return ast;
  }
function updater ( file , ast ) { if ( ast . comments ) { ast . comments . filter ( testDocTag ) . map ( getAnnotatedNode ) . concat ( inferAngular ( ast ) ) // find the items that are not explicitly annotated . filter ( testFirstOccurrence ) // ensure unique values . forEach ( processNode ) ; } else { errorFn ( 'Esprima AST is required to have top-level comments array' ) ; } return ast ; }
The updater function for the esprima transform
@param {string} file The filename for the Browserify transform
@param {object} ast The esprima syntax tree
@returns {object} The transformed esprima syntax tree
The updater function for the esprima transform