16 lines
		
	
	
		
			567 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			16 lines
		
	
	
		
			567 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								var _ = require('lodash');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function moduleScopeLinkDisambiguator() {
							 | 
						||
| 
								 | 
							
								  return function(url, title, currentDoc, docs) {
							 | 
						||
| 
								 | 
							
								    if (docs.length > 1) {
							 | 
						||
| 
								 | 
							
								      // filter out target docs that are not in the same module as the source doc
							 | 
						||
| 
								 | 
							
								      var filteredDocs = _.filter(docs, function(doc) {
							 | 
						||
| 
								 | 
							
								        return doc.moduleDoc === currentDoc.moduleDoc;
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								      // if all target docs are in a different module then just return the full collection of ambiguous docs
							 | 
						||
| 
								 | 
							
								      return filteredDocs.length > 0 ? filteredDocs : docs;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return docs;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 |