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