@@ -14,6 +14,17 @@ const STATIC_PREFIX = {
1414 [ ReflectionKind . Method ] : "Static method" ,
1515} ;
1616
17+ const formatParams = ( params = [ ] ) =>
18+ params
19+ . map ( ( param , index ) => {
20+ if ( param . flags ?. isOptional ) {
21+ return index === 0 ? `[${ param . name } ]` : `[, ${ param . name } ]` ;
22+ }
23+
24+ return index === 0 ? param . name : `, ${ param . name } ` ;
25+ } )
26+ . join ( "" ) ;
27+
1728export const getMemberPrefix = ( model ) => {
1829 const prefix = model . flags ?. isStatic
1930 ? STATIC_PREFIX [ model . kind ]
@@ -65,41 +76,27 @@ export default (ctx) => ({
6576 } ,
6677
6778 memberTitle ( model ) {
79+ if ( model . kind === ReflectionKind . Constructor ) {
80+ const params = model . signatures ?. [ 0 ] ?. parameters ?? [ ] ;
81+ return `\`new ${ model . parent . name } (${ formatParams ( params ) } )\`` ;
82+ }
83+
6884 const prefix = getMemberPrefix ( model ) ;
6985 const params = model . signatures ?. [ 0 ] ?. parameters ;
7086
7187 if ( ! params ) {
7288 return `${ prefix } \`${ model . name } \`` ;
7389 }
7490
75- const paramsString = params
76- . map ( ( param , index ) => {
77- const paramName = param . name ;
78- if ( param . flags ?. isOptional ) {
79- // For optional params, wrap comma + name in brackets (except for first param)
80- return index === 0 ? `[${ paramName } ]` : `[, ${ paramName } ]` ;
81- } else {
82- // For required params, add comma separator (except for first param)
83- return index === 0 ? paramName : `, ${ paramName } ` ;
84- }
85- } )
86- . join ( "" ) ;
91+ const paramsString = formatParams ( params ) ;
8792
8893 return `${ prefix } \`${ model . name } (${ paramsString } )\`` ;
8994 } ,
9095
9196 constructor ( model , options ) {
9297 const md = [ ] ;
9398 model . signatures ?. forEach ( ( signature ) => {
94- const params = signature . parameters ?? [ ] ;
95- const paramsString = params
96- . map ( ( param , index ) => {
97- if ( param . flags ?. isOptional ) {
98- return index === 0 ? `[${ param . name } ]` : `[, ${ param . name } ]` ;
99- }
100- return index === 0 ? param . name : `, ${ param . name } ` ;
101- } )
102- . join ( "" ) ;
99+ const paramsString = formatParams ( signature . parameters ?? [ ] ) ;
103100
104101 const heading = "#" . repeat ( options . headingLevel ) ;
105102 md . push ( `${ heading } \`new ${ model . parent . name } (${ paramsString } )\`` ) ;
0 commit comments