@@ -70,7 +70,7 @@ export function createTypings(moduleName: string|null, programAst: any, options:
7070 if ( moduleName === null ) {
7171 return m . members . map ( member => dom . emit ( member ) ) . join ( '' ) ;
7272 } else {
73- return dom . emit ( m , { rootFlags : dom . ContextFlags . Module , tripleSlashDirectives } ) ;
73+ return dom . emit ( m , { tripleSlashDirectives } ) ;
7474 }
7575}
7676
@@ -107,13 +107,16 @@ function createExportedClassComponent(m: dom.ModuleDeclaration, componentName: s
107107}
108108
109109function createExportedFunctionalComponent ( m : dom . ModuleDeclaration , componentName : string , propTypes : any ,
110- exportType : dom . DeclarationFlags , interf : dom . InterfaceDeclaration ) : void {
110+ exportType : dom . DeclarationFlags , interf : dom . InterfaceDeclaration ) : void {
111+ const typeDecl = dom . create . namedTypeReference ( `React.SFC${ propTypes ? `<${ interf . name } >` : '' } ` ) ;
112+ const constDecl = dom . create . const ( componentName , typeDecl ) ;
113+ m . members . push ( constDecl ) ;
111114
112- const typeDecl = dom . create . alias (
113- componentName ,
114- dom . create . namedTypeReference ( `React.SFC ${ propTypes ? `< ${ interf . name } >` : '' } ` ) ) ;
115- typeDecl . flags = exportType ;
116- m . members . push ( typeDecl ) ;
115+ if ( exportType === dom . DeclarationFlags . ExportDefault ) {
116+ m . members . push ( dom . create . exportDefault ( componentName ) ) ;
117+ } else {
118+ constDecl . flags = exportType ;
119+ }
117120}
118121
119122function createPropTypeTypings ( interf : dom . InterfaceDeclaration , ast : AstQuery , propTypes : any ,
0 commit comments