From 99db921c20c9214f0b14b1ba181e3524d8f91a01 Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Sun, 17 Aug 2025 13:13:51 +0900 Subject: [PATCH] BridgeJS: Fix TypeScript constructor signature generation Change constructor signature from 'constructor(...)' to 'new(...)' in generated TypeScript declaration files, which is the correct syntax for constructor call signatures in TypeScript. --- Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift | 2 +- .../__Snapshots__/BridgeJSLinkTests/Namespaces.Export.d.ts | 4 ++-- .../__Snapshots__/BridgeJSLinkTests/SwiftClass.Export.d.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift b/Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift index 85b0e658..1483692f 100644 --- a/Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift +++ b/Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift @@ -599,7 +599,7 @@ struct BridgeJSLink { jsLines.append(contentsOf: funcLines.map { $0.indent(count: 4) }) dtsExportEntryLines.append( - "constructor\(renderTSSignature(parameters: constructor.parameters, returnType: .swiftHeapObject(klass.name), effects: constructor.effects));" + "new\(renderTSSignature(parameters: constructor.parameters, returnType: .swiftHeapObject(klass.name), effects: constructor.effects));" .indent(count: 4) ) } diff --git a/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/Namespaces.Export.d.ts b/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/Namespaces.Export.d.ts index d5b901c2..b2ccecc4 100644 --- a/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/Namespaces.Export.d.ts +++ b/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/Namespaces.Export.d.ts @@ -51,10 +51,10 @@ export interface UUID extends SwiftHeapObject { } export type Exports = { Greeter: { - constructor(name: string): Greeter; + new(name: string): Greeter; } Converter: { - constructor(): Converter; + new(): Converter; } UUID: { } diff --git a/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/SwiftClass.Export.d.ts b/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/SwiftClass.Export.d.ts index 8c680fbc..fd376d57 100644 --- a/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/SwiftClass.Export.d.ts +++ b/Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/SwiftClass.Export.d.ts @@ -17,7 +17,7 @@ export interface Greeter extends SwiftHeapObject { } export type Exports = { Greeter: { - constructor(name: string): Greeter; + new(name: string): Greeter; } takeGreeter(greeter: Greeter): void; }