@@ -63,14 +63,19 @@ function handleTyped(type: Node): Typed {
6363 } ;
6464}
6565
66- function handleTypeParameters ( value : Value ) {
66+ function handleTypeParameters ( value : Value | Node ) {
6767 if ( ! value ) {
6868 return { } ;
6969 }
70+ if ( typeof value === "string" ) {
71+ return { typeParameters : [ { name : value } ] } ;
72+ }
73+ const node = value as Node ;
7074 return {
7175 typeParameters : [
7276 {
73- name : string ( value ) ,
77+ name : string ( node . values [ 0 ] ) ,
78+ ...optionalMember ( "default" , "string" , node . properties ?. default ) ,
7479 } ,
7580 ] ,
7681 } ;
@@ -319,6 +324,7 @@ function handleMethod(child: Node): DeepPartial<OverridableMethod> {
319324function handleDictionary ( child : Node ) : DeepPartial < Dictionary > {
320325 const name = string ( child . values [ 0 ] ) ;
321326 const member : Record < string , Partial < Member > > = { } ;
327+ let typeParameters = { } ;
322328
323329 for ( const c of child . children ) {
324330 switch ( c . name ) {
@@ -327,6 +333,10 @@ function handleDictionary(child: Node): DeepPartial<Dictionary> {
327333 member [ memberName ] = handleMember ( c ) ;
328334 break ;
329335 }
336+ case "typeParameters" : {
337+ typeParameters = handleTypeParameters ( c ) ;
338+ break ;
339+ }
330340 default :
331341 throw new Error ( `Unknown node name: ${ c . name } ` ) ;
332342 }
@@ -335,6 +345,7 @@ function handleDictionary(child: Node): DeepPartial<Dictionary> {
335345 return {
336346 name,
337347 members : { member } ,
348+ ...typeParameters ,
338349 ...handleTypeParameters ( child . properties ?. typeParameters ) ,
339350 ...optionalMember (
340351 "legacyNamespace" ,
0 commit comments