@@ -90,3 +90,35 @@ typealias OptionalNameAlias = Optional<String>
9090func 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 do ubleOrNull: Double?
105+ @JSSetter func setDoubleOrNull( _ value: Double ? ) throws ( JSException )
106+ @JSGetter var do ubleOrUndefined: 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