@@ -307,6 +307,7 @@ function handleProperty(child: Node): DeepPartial<Property> {
307307function handleParam ( node : Node ) {
308308 const name = string ( node . values [ 0 ] ) ;
309309 let additionalTypes : string [ ] | undefined ;
310+ const typeNodes : Node [ ] = [ ] ;
310311
311312 for ( const child of node . children ) {
312313 switch ( child . name ) {
@@ -317,16 +318,19 @@ function handleParam(node: Node) {
317318 additionalTypes = child . values . map ( string ) ;
318319 break ;
319320 }
321+ case "type" : {
322+ typeNodes . push ( child ) ;
323+ break ;
324+ }
320325 default :
321326 throw new Error ( `Unexpected child "${ child . name } " in param "${ name } "` ) ;
322327 }
323328 }
324329
325330 return {
326331 name,
327- ...optionalMember ( "type" , "string" , node . properties ?. type ) ,
332+ ...handleTyped ( typeNodes , node . properties ?. type ) ,
328333 ...optionalMember ( "overrideType" , "string" , node . properties ?. overrideType ) ,
329- ...optionalMember ( "nullable" , "boolean" , node . properties ?. nullable ) ,
330334 additionalTypes,
331335 } ;
332336}
@@ -344,7 +348,7 @@ function handleMethodAndConstructor(
344348
345349 // Collect all type nodes into an array
346350 const typeNodes : Node [ ] = [ ] ;
347- const params : Partial < Param > [ ] = [ ] ;
351+ const params : DeepPartial < Param > [ ] = [ ] ;
348352
349353 for ( const c of child . children ) {
350354 switch ( c . name ) {
0 commit comments