38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
module.exports = function addNotYetDocumentedProperty(EXPORT_DOC_TYPES, log, createDocMessage) {
|
|
return {
|
|
$runAfter: ['tags-parsed'],
|
|
$runBefore: ['rendering-docs'],
|
|
$process: function(docs) {
|
|
docs.forEach(function(doc) {
|
|
|
|
if (EXPORT_DOC_TYPES.indexOf(doc.docType) === -1) return;
|
|
|
|
// NotYetDocumented means that no top level comments and no member level comments
|
|
doc.notYetDocumented = notYetDocumented(doc);
|
|
|
|
if (doc.constructorDoc) {
|
|
doc.constructorDoc.notYetDocumented = notYetDocumented(doc.constructorDoc);
|
|
doc.notYetDocumented = doc.notYetDocumented && doc.constructorDoc.notYetDocumented;
|
|
}
|
|
|
|
if (doc.members) {
|
|
doc.members.forEach(function(member) {
|
|
member.notYetDocumented = notYetDocumented(member);
|
|
doc.notYetDocumented = doc.notYetDocumented && member.notYetDocumented;
|
|
});
|
|
}
|
|
|
|
if (doc.notYetDocumented) {
|
|
log.info(createDocMessage("Not yet documented", doc));
|
|
}
|
|
});
|
|
|
|
return docs;
|
|
}
|
|
};
|
|
};
|
|
|
|
function notYetDocumented(doc) {
|
|
return !doc.noDescription && doc.description.trim().length == 0;
|
|
}
|