34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var _ = require('lodash');
 | 
						|
 | 
						|
module.exports = function generateDocsFromComments(log) {
 | 
						|
  return {
 | 
						|
    $runAfter: ['files-read'],
 | 
						|
    $runBefore: ['parsing-tags'],
 | 
						|
    $process: function(docs) {
 | 
						|
      var commentDocs = [];
 | 
						|
      docs = _.filter(docs, function(doc) {
 | 
						|
        if (doc.docType !== 'atScriptFile') {
 | 
						|
          return true;
 | 
						|
        } else {
 | 
						|
          _.forEach(doc.fileInfo.comments, function(comment) {
 | 
						|
 | 
						|
            // we need to check for `/**` at the start of the comment to find all the jsdoc style comments
 | 
						|
            comment.range.toString().replace(/^\/\*\*([\w\W]*)\*\/$/g, function(match, commentBody) {
 | 
						|
 | 
						|
              // Create a doc from this comment
 | 
						|
              commentDocs.push({
 | 
						|
                fileInfo: doc.fileInfo,
 | 
						|
                startingLine: comment.range.start.line,
 | 
						|
                endingLine: comment.range.end.line,
 | 
						|
                content: commentBody,
 | 
						|
                codeTree: comment.treeAfter,
 | 
						|
                docType: 'atScriptDoc'
 | 
						|
              });
 | 
						|
            });
 | 
						|
          });
 | 
						|
        }
 | 
						|
      });
 | 
						|
      return docs.concat(commentDocs);
 | 
						|
    }
 | 
						|
  };
 | 
						|
}; |