angular-cn/aio/tools/transforms/links-package/services/disambiguators/disambiguateByContainer.js

20 lines
609 B
JavaScript

/**
* This link disambiguator looks for matching docs that have a common container with the
* originatingDoc and will return just those.
*/
module.exports = function disambiguateByContainer() {
return _disambiguate;
};
function _disambiguate(alias, originatingDoc, docs) {
if (originatingDoc) {
const filteredDocs = docs.filter(doc => doc.containerDoc === originatingDoc);
if (filteredDocs.length === 0) {
// No docs match so let's look at the containers container
return _disambiguate(alias, originatingDoc.containerDoc, docs);
}
return filteredDocs;
}
return docs;
}