27 lines
		
	
	
		
			834 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			834 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Members that have overloads get long unwieldy anchors because they must be distinguished
							 | 
						||
| 
								 | 
							
								 * by their parameter lists.
							 | 
						||
| 
								 | 
							
								 * But the primary overload doesn't not need this distinction, so can just be the name of the member.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module.exports = function simplifyMemberAnchors() {
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    $runAfter: ['extra-docs-added'],
							 | 
						||
| 
								 | 
							
								    $runBefore: ['computing-paths'],
							 | 
						||
| 
								 | 
							
								    $process: function(docs) {
							 | 
						||
| 
								 | 
							
								      return docs.forEach(doc => {
							 | 
						||
| 
								 | 
							
								        if (doc.members) {
							 | 
						||
| 
								 | 
							
								          doc.members.forEach(member => member.anchor = computeAnchor(member));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (doc.statics) {
							 | 
						||
| 
								 | 
							
								          doc.statics.forEach(member => member.anchor = computeAnchor(member));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function computeAnchor(member) {
							 | 
						||
| 
								 | 
							
								  // if the member is a "call" type then it has no name
							 | 
						||
| 
								 | 
							
								  return encodeURI(member.name.trim() || 'call');
							 | 
						||
| 
								 | 
							
								}
							 |