Adds the ability to expose global symbols in the API docs via the `@globalApi` tag. Also supports optionally setting a namespace which will be added to the name automatically (e.g. `foo` will be renamed to `ng.foo`). Relevant APIs should also be exported through the `global.ts` file which will show up under `core/global`. PR Close #34237
		
			
				
	
	
		
			29 lines
		
	
	
		
			806 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			806 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @dgProcessor addGlobalApiData
 | |
|  *
 | |
|  * Marks APIs tagged with `@globalApi` as globals and
 | |
|  * prefixes them with the namespace, if there is one.
 | |
|  */
 | |
| module.exports = function addGlobalApiDataProcessor() {
 | |
|   return {
 | |
|     $runBefore: ['computing-ids'],
 | |
|     $process: function(docs) {
 | |
|       docs.forEach(doc => {
 | |
|         const globalApiTag = doc.globalApi && doc.globalApi.trim();
 | |
| 
 | |
|         if (globalApiTag != null) {
 | |
|           doc.global = true;
 | |
| 
 | |
|           if (globalApiTag.length > 0) {
 | |
|             // Prefix the symbol name with the global namespace,
 | |
|             // if we have one (e.g. `foo` becomes `ng.foo`).
 | |
|             doc.unprefixedName = doc.name;
 | |
|             doc.name = `${globalApiTag}.${doc.name}`;
 | |
|             doc.globalNamespace = globalApiTag;
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     }
 | |
|   };
 | |
| };
 |