chore(doc-gen): render enum doctypes correctly

This commit is contained in:
Peter Bacon Darwin 2015-08-03 11:15:07 +01:00 committed by Naomi Black
parent 106a28b8dc
commit c4296285f3
2 changed files with 17 additions and 12 deletions

View File

@ -0,0 +1 @@
{% extends 'class.template.html' -%}

View File

@ -63,10 +63,11 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo,
var exportDoc = createExportDoc(exportSymbol.name, resolvedExport, moduleDoc, basePath, parseInfo.typeChecker); var exportDoc = createExportDoc(exportSymbol.name, resolvedExport, moduleDoc, basePath, parseInfo.typeChecker);
log.debug('>>>> EXPORT: ' + exportDoc.name + ' (' + exportDoc.docType + ') from ' + moduleDoc.id); log.debug('>>>> EXPORT: ' + exportDoc.name + ' (' + exportDoc.docType + ') from ' + moduleDoc.id);
exportDoc.members = [];
// Generate docs for each of the export's members // Generate docs for each of the export's members
if (resolvedExport.flags & ts.SymbolFlags.HasMembers) { if (resolvedExport.flags & ts.SymbolFlags.HasMembers) {
exportDoc.members = [];
for(var memberName in resolvedExport.members) { for(var memberName in resolvedExport.members) {
// FIXME(alexeagle): why do generic type params appear in members? // FIXME(alexeagle): why do generic type params appear in members?
if (memberName === 'T') { if (memberName === 'T') {
@ -91,21 +92,24 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo,
exportDoc.newMember = memberDoc; exportDoc.newMember = memberDoc;
} }
} }
}
if (sortClassMembers) { if (exportDoc.docType === 'enum') {
exportDoc.members.sort(function(a, b) { for(var memberName in resolvedExport.exports) {
if (a.name > b.name) return 1; log.silly('>>>>>> member: ' + memberName + ' from ' + exportDoc.id + ' in ' + moduleDoc.id);
if (a.name < b.name) return -1; var memberSymbol = resolvedExport.exports[memberName];
return 0; var memberDoc = createMemberDoc(memberSymbol, exportDoc, basePath, parseInfo.typeChecker);
}); docs.push(memberDoc);
exportDoc.members.push(memberDoc);
} }
} }
if (exportDoc.docType == 'enum') { if (sortClassMembers) {
exportDoc.members = []; exportDoc.members.sort(function(a, b) {
for (var etype in resolvedExport.exports) { if (a.name > b.name) return 1;
exportDoc.members.push(etype); if (a.name < b.name) return -1;
} return 0;
});
} }
// Add this export doc to its module doc // Add this export doc to its module doc