@@ -63,10 +63,11 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo,
6363 var exportDoc = createExportDoc ( exportSymbol . name , resolvedExport , moduleDoc , basePath , parseInfo . typeChecker ) ;
6464 log . debug ( '>>>> EXPORT: ' + exportDoc . name + ' (' + exportDoc . docType + ') from ' + moduleDoc . id ) ;
6565
66+ exportDoc . members = [ ] ;
67+
6668 // Generate docs for each of the export's members
6769 if ( resolvedExport . flags & ts . SymbolFlags . HasMembers ) {
6870
69- exportDoc . members = [ ] ;
7071 for ( var memberName in resolvedExport . members ) {
7172 // FIXME(alexeagle): why do generic type params appear in members?
7273 if ( memberName === 'T' ) {
@@ -91,21 +92,24 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo,
9192 exportDoc . newMember = memberDoc ;
9293 }
9394 }
95+ }
9496
95- if ( sortClassMembers ) {
96- exportDoc . members . sort ( function ( a , b ) {
97- if ( a . name > b . name ) return 1 ;
98- if ( a . name < b . name ) return - 1 ;
99- return 0 ;
100- } ) ;
97+ if ( exportDoc . docType === 'enum' ) {
98+ for ( var memberName in resolvedExport . exports ) {
99+ log . silly ( '>>>>>> member: ' + memberName + ' from ' + exportDoc . id + ' in ' + moduleDoc . id ) ;
100+ var memberSymbol = resolvedExport . exports [ memberName ] ;
101+ var memberDoc = createMemberDoc ( memberSymbol , exportDoc , basePath , parseInfo . typeChecker ) ;
102+ docs . push ( memberDoc ) ;
103+ exportDoc . members . push ( memberDoc ) ;
101104 }
102105 }
103106
104- if ( exportDoc . docType == 'enum' ) {
105- exportDoc . members = [ ] ;
106- for ( var etype in resolvedExport . exports ) {
107- exportDoc . members . push ( etype ) ;
108- }
107+ if ( sortClassMembers ) {
108+ exportDoc . members . sort ( function ( a , b ) {
109+ if ( a . name > b . name ) return 1 ;
110+ if ( a . name < b . name ) return - 1 ;
111+ return 0 ;
112+ } ) ;
109113 }
110114
111115 // Add this export doc to its module doc
0 commit comments