@@ -5,6 +5,7 @@ function DtsSerializer(remap) {
55}
66
77DtsSerializer . prototype = {
8+ _initializerRegex : / \s * = [ ^ > ] [ ^ , } ] * / g,
89
910 constructor : DtsSerializer ,
1011
@@ -18,15 +19,21 @@ DtsSerializer.prototype = {
1819 }
1920 if ( ast . parameters ) {
2021 buffer . push ( '(' ) ;
21- buffer . push ( ast . parameters . join ( ', ' ) ) ;
22+ var parameters = ast . parameters ;
23+ for ( var i = 0 ; i < parameters . length ; i ++ ) {
24+ parameters [ i ] = parameters [ i ] . replace ( this . _initializerRegex , '' ) ;
25+ }
26+ buffer . push ( parameters . join ( ', ' ) ) ;
2227 buffer . push ( ')' ) ;
2328 }
24- if ( ast . returnType ) {
25- buffer . push ( ': ' , ast . returnType ) ;
26- } else if ( ast . parameters ) {
27- buffer . push ( ': void' ) ;
28- } else {
29- buffer . push ( ': any' ) ;
29+ if ( ! isConstructor ( ast ) ) {
30+ if ( ast . returnType ) {
31+ buffer . push ( ': ' , ast . returnType ) ;
32+ } else if ( ast . parameters ) {
33+ buffer . push ( ': void' ) ;
34+ } else {
35+ buffer . push ( ': any' ) ;
36+ }
3037 }
3138 buffer . push ( ';\n' ) ;
3239 } ,
@@ -58,6 +65,7 @@ DtsSerializer.prototype = {
5865 buffer . indent ( ) ;
5966 if ( ast . newMember ) this . member ( buffer , ast . newMember ) ;
6067 if ( ast . callMember ) this . member ( buffer , ast . callMember ) ;
68+ if ( ast . constructorDoc ) this . member ( buffer , ast . constructorDoc ) ;
6169
6270 ast . statics . forEach ( function ( staticMember ) {
6371 this . member ( buffer , staticMember ) ;
@@ -144,7 +152,6 @@ DtsSerializer.prototype = {
144152 }
145153} ;
146154
147-
148155function Buffer ( ) {
149156 this . _globalBuffer = [ ] ;
150157 this . _indentedBuffer = [ ] ;
@@ -191,7 +198,11 @@ Buffer.prototype = {
191198 }
192199} ;
193200
201+ function isConstructor ( ast ) {
202+ return ast . parameters && ast . name === "constructor" ;
203+ }
194204
195205module . exports = {
196206 DtsSerializer : DtsSerializer
197207} ;
208+
0 commit comments