Skip to content

Commit 667d787

Browse files
BridgeJS: Cover Optional/Undefined usage on import side
1 parent ab2c068 commit 667d787

File tree

5 files changed

+1271
-1
lines changed

5 files changed

+1271
-1
lines changed

Plugins/BridgeJS/Tests/BridgeJSToolTests/Inputs/MacroSwift/Optionals.swift

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,35 @@ typealias OptionalNameAlias = Optional<String>
9090
func testMixedOptionals(firstName: String?, lastName: String?, age: Int?, active: Bool) -> String? {
9191
return nil
9292
}
93+
94+
@JSClass struct WithOptionalJSClass {
95+
@JSFunction init(valueOrNull: String?, valueOrUndefined: JSUndefinedOr<String>) throws(JSException)
96+
97+
@JSGetter var stringOrNull: String?
98+
@JSSetter func setStringOrNull(_ value: String?) throws(JSException)
99+
@JSGetter var stringOrUndefined: JSUndefinedOr<String>
100+
@JSSetter func setStringOrUndefined(_ value: JSUndefinedOr<String>) throws(JSException)
101+
@JSFunction func roundTripStringOrNull(value: String?) throws(JSException) -> String?
102+
@JSFunction func roundTripStringOrUndefined(value: JSUndefinedOr<String>) throws(JSException) -> JSUndefinedOr<String>
103+
104+
@JSGetter var doubleOrNull: Double?
105+
@JSSetter func setDoubleOrNull(_ value: Double?) throws(JSException)
106+
@JSGetter var doubleOrUndefined: JSUndefinedOr<Double>
107+
@JSSetter func setDoubleOrUndefined(_ value: JSUndefinedOr<Double>) throws(JSException)
108+
@JSFunction func roundTripDoubleOrNull(value: Double?) throws(JSException) -> Double?
109+
@JSFunction func roundTripDoubleOrUndefined(value: JSUndefinedOr<Double>) throws(JSException) -> JSUndefinedOr<Double>
110+
111+
@JSGetter var boolOrNull: Bool?
112+
@JSSetter func setBoolOrNull(_ value: Bool?) throws(JSException)
113+
@JSGetter var boolOrUndefined: JSUndefinedOr<Bool>
114+
@JSSetter func setBoolOrUndefined(_ value: JSUndefinedOr<Bool>) throws(JSException)
115+
@JSFunction func roundTripBoolOrNull(value: Bool?) throws(JSException) -> Bool?
116+
@JSFunction func roundTripBoolOrUndefined(value: JSUndefinedOr<Bool>) throws(JSException) -> JSUndefinedOr<Bool>
117+
118+
@JSGetter var intOrNull: Int?
119+
@JSSetter func setIntOrNull(_ value: Int?) throws(JSException)
120+
@JSGetter var intOrUndefined: JSUndefinedOr<Int>
121+
@JSSetter func setIntOrUndefined(_ value: JSUndefinedOr<Int>) throws(JSException)
122+
@JSFunction func roundTripIntOrNull(value: Int?) throws(JSException) -> Int?
123+
@JSFunction func roundTripIntOrUndefined(value: JSUndefinedOr<Int>) throws(JSException) -> JSUndefinedOr<Int>
124+
}

0 commit comments

Comments
 (0)