Skip to content

Commit 40fa074

Browse files
committed
BridgeJS: Include properties and release() in declare global class stubs
1 parent 494ed16 commit 40fa074

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2947,6 +2947,16 @@ extension BridgeJSLink {
29472947
"\(method.name)\(renderTSSignatureCallback(method.parameters, method.returnType, method.effects));"
29482948
printer.write(methodSignature)
29492949
}
2950+
2951+
let sortedProperties = klass.properties.filter { !$0.isStatic }.sorted {
2952+
$0.name < $1.name
2953+
}
2954+
for property in sortedProperties {
2955+
let readonly = property.isReadonly ? "readonly " : ""
2956+
printer.write("\(readonly)\(property.name): \(property.type.tsType);")
2957+
}
2958+
2959+
printer.write("release(): void;")
29502960
}
29512961
printer.write("}")
29522962
}

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/EnumNamespace.Global.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,15 @@ declare global {
3434
class Converter {
3535
constructor();
3636
format(value: number): string;
37+
release(): void;
3738
}
3839
}
3940
namespace Networking {
4041
namespace API {
4142
class HTTPServer {
4243
constructor();
4344
call(method: Networking.API.MethodTag): void;
45+
release(): void;
4446
}
4547
const MethodValues: {
4648
readonly Get: 0;
@@ -55,6 +57,7 @@ declare global {
5557
class TestServer {
5658
constructor();
5759
call(method: Networking.APIV2.Internal.SupportedMethodTag): void;
60+
release(): void;
5861
}
5962
const SupportedMethodValues: {
6063
readonly Get: 0;
@@ -77,6 +80,8 @@ declare global {
7780
class Converter {
7881
constructor();
7982
toString(value: number): string;
83+
precision: number;
84+
release(): void;
8085
}
8186
}
8287
}

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/MixedModules.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ declare global {
1111
class GlobalClass {
1212
constructor();
1313
greet(): string;
14+
release(): void;
1415
}
1516
function globalFunction(): string;
1617
}

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/Namespaces.Global.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ declare global {
1212
constructor();
1313
addItem(item: Greeter): void;
1414
getItems(): Greeter[];
15+
release(): void;
1516
}
1617
}
1718
namespace MyModule {
@@ -24,6 +25,7 @@ declare global {
2425
class Converter {
2526
constructor();
2627
toString(value: number): string;
28+
release(): void;
2729
}
2830
}
2931
}
@@ -32,9 +34,11 @@ declare global {
3234
class Greeter {
3335
constructor(name: string);
3436
greet(): string;
37+
release(): void;
3538
}
3639
class UUID {
3740
uuidString(): string;
41+
release(): void;
3842
}
3943
}
4044
}

0 commit comments

Comments
 (0)