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;
 | 
						|
          }
 | 
						|
        }
 | 
						|
      });
 | 
						|
    }
 | 
						|
  };
 | 
						|
};
 |