@@ -3144,6 +3144,25 @@ extension BridgeJSLink {
31443144 importObjectBuilder . assignToImportObject ( name : abiName , function : js )
31453145 importObjectBuilder . appendDts ( dts )
31463146 }
3147+ if type . from == nil , type . constructor != nil || ! type . staticMethods . isEmpty {
3148+ let dtsPrinter = CodeFragmentPrinter ( )
3149+ dtsPrinter . write ( " \( type . name ) : { " )
3150+ dtsPrinter . indent {
3151+ if let constructor = type . constructor {
3152+ let returnType = BridgeType . jsObject ( type . name )
3153+ dtsPrinter . write (
3154+ " new \( renderTSSignature ( parameters : constructor . parameters , returnType : returnType , effects : Effects ( isAsync : false , isThrows : false ) ) ) ; "
3155+ )
3156+ }
3157+ for method in type . staticMethods {
3158+ let methodName = method . jsName ?? method . name
3159+ let signature = " \( renderTSPropertyName ( methodName ) ) \( renderTSSignature ( parameters : method . parameters , returnType : method . returnType , effects : Effects ( isAsync : false , isThrows : false ) ) ) ; "
3160+ dtsPrinter . write ( signature )
3161+ }
3162+ }
3163+ dtsPrinter . write ( " } " )
3164+ importObjectBuilder . appendDts ( dtsPrinter . lines )
3165+ }
31473166 for method in type . methods {
31483167 let ( js , dts ) = try renderImportedMethod ( context : type , method : method )
31493168 importObjectBuilder . assignToImportObject ( name : method . abiName ( context : type ) , function : js )
@@ -3174,19 +3193,6 @@ extension BridgeJSLink {
31743193 returnType : returnType
31753194 )
31763195 importObjectBuilder . assignToImportObject ( name : abiName , function : funcLines )
3177-
3178- if type . from == nil {
3179- let dtsPrinter = CodeFragmentPrinter ( )
3180- dtsPrinter . write ( " \( type . name ) : { " )
3181- dtsPrinter . indent {
3182- dtsPrinter . write (
3183- " new \( renderTSSignature ( parameters : constructor . parameters , returnType : returnType , effects : Effects ( isAsync : false , isThrows : false ) ) ) ; "
3184- )
3185- }
3186- dtsPrinter . write ( " } " )
3187-
3188- importObjectBuilder . appendDts ( dtsPrinter . lines )
3189- }
31903196 }
31913197
31923198 func renderImportedGetter (
0 commit comments