@@ -488,14 +488,21 @@ func (ts *Typescript) parse(obj types.Object) error {
488488 return xerrors .Errorf ("(map) generate %q: %w" , objectIdentifier .Ref (), err )
489489 }
490490
491+ aliasNode := & bindings.Alias {
492+ Name : objectIdentifier ,
493+ Modifiers : []bindings.Modifier {},
494+ Type : ty .Value ,
495+ Parameters : ty .TypeParameters ,
496+ Source : ts .location (obj ),
497+ }
498+
499+ if ts .preserveComments {
500+ cmts := ts .parsed .CommentForObject (obj )
501+ aliasNode .AppendComments (cmts )
502+ }
503+
491504 return ts .setNode (objectIdentifier .Ref (), typescriptNode {
492- Node : & bindings.Alias {
493- Name : objectIdentifier ,
494- Modifiers : []bindings.Modifier {},
495- Type : ty .Value ,
496- Parameters : ty .TypeParameters ,
497- Source : ts .location (obj ),
498- },
505+ Node : aliasNode ,
499506 })
500507 case * types.Interface :
501508 // Interfaces are used as generics. Non-generic interfaces are
@@ -576,6 +583,12 @@ func (ts *Typescript) parse(obj types.Object) error {
576583 if err != nil {
577584 return xerrors .Errorf ("basic const %q: %w" , objectIdentifier .Ref (), err )
578585 }
586+
587+ if ts .preserveComments {
588+ cmts := ts .parsed .CommentForObject (obj )
589+ cnst .AppendComments (cmts )
590+ }
591+
579592 return ts .setNode (objectIdentifier .Ref (), typescriptNode {
580593 Node : cnst ,
581594 })
0 commit comments