1+ extension SwiftChoice : _BridgedSwiftCaseEnum {
2+ @_spi ( BridgeJS) @_transparent public consuming func bridgeJSLowerParameter( ) -> Int32 {
3+ return bridgeJSRawValue
4+ }
5+ @_spi ( BridgeJS) @_transparent public static func bridgeJSLiftReturn( _ value: Int32 ) -> SwiftChoice {
6+ return bridgeJSLiftParameter ( value)
7+ }
8+ @_spi ( BridgeJS) @_transparent public static func bridgeJSLiftParameter( _ value: Int32 ) -> SwiftChoice {
9+ return SwiftChoice ( bridgeJSRawValue: value) !
10+ }
11+ @_spi ( BridgeJS) @_transparent public consuming func bridgeJSLowerReturn( ) -> Int32 {
12+ return bridgeJSLowerParameter ( )
13+ }
14+
15+ @_spi ( BridgeJS) @usableFromInline init ? ( bridgeJSRawValue: Int32 ) {
16+ switch bridgeJSRawValue {
17+ case 0 :
18+ self = . first
19+ case 1 :
20+ self = . second
21+ default :
22+ return nil
23+ }
24+ }
25+
26+ @_spi ( BridgeJS) @usableFromInline var bridgeJSRawValue : Int32 {
27+ switch self {
28+ case . first:
29+ return 0
30+ case . second:
31+ return 1
32+ }
33+ }
34+ }
35+
36+ @_expose ( wasm, " bjs_renamedChoice " )
37+ @_cdecl ( " bjs_renamedChoice " )
38+ public func _bjs_renamedChoice( _ value: Int32 ) -> Int32 {
39+ #if arch(wasm32)
40+ let value = SwiftChoice . bridgeJSLiftParameter ( value)
41+ let ret = renamedChoice ( _: value)
42+ return ret. bridgeJSLowerReturn ( )
43+ #else
44+ fatalError ( " Only available on WebAssembly " )
45+ #endif
46+ }
47+
48+ @_expose ( wasm, " bjs_SwiftBox_init " )
49+ @_cdecl ( " bjs_SwiftBox_init " )
50+ public func _bjs_SwiftBox_init( ) -> UnsafeMutableRawPointer {
51+ #if arch(wasm32)
52+ let ret = SwiftBox ( )
53+ return ret. bridgeJSLowerReturn ( )
54+ #else
55+ fatalError ( " Only available on WebAssembly " )
56+ #endif
57+ }
58+
59+ @_expose ( wasm, " bjs_SwiftBox_copy " )
60+ @_cdecl ( " bjs_SwiftBox_copy " )
61+ public func _bjs_SwiftBox_copy( _ _self: UnsafeMutableRawPointer ) -> UnsafeMutableRawPointer {
62+ #if arch(wasm32)
63+ let _self = SwiftBox . bridgeJSLiftParameter ( _self)
64+ let ret = _self. copy ( )
65+ return ret. bridgeJSLowerReturn ( )
66+ #else
67+ fatalError ( " Only available on WebAssembly " )
68+ #endif
69+ }
70+
71+ @_expose ( wasm, " bjs_SwiftBox_deinit " )
72+ @_cdecl ( " bjs_SwiftBox_deinit " )
73+ public func _bjs_SwiftBox_deinit( _ pointer: UnsafeMutableRawPointer ) -> Void {
74+ #if arch(wasm32)
75+ Unmanaged < SwiftBox > . fromOpaque ( pointer) . release ( )
76+ #else
77+ fatalError ( " Only available on WebAssembly " )
78+ #endif
79+ }
80+
81+ extension SwiftBox : ConvertibleToJSValue , _BridgedSwiftHeapObject , _BridgedSwiftProtocolExportable {
82+ var jsValue : JSValue {
83+ return . object( JSObject ( id: UInt32 ( bitPattern: _bjs_SwiftBox_wrap ( Unmanaged . passRetained ( self ) . toOpaque ( ) ) ) ) )
84+ }
85+ consuming func bridgeJSLowerAsProtocolReturn( ) -> Int32 {
86+ _bjs_SwiftBox_wrap ( Unmanaged . passRetained ( self ) . toOpaque ( ) )
87+ }
88+ }
89+
90+ #if arch(wasm32)
91+ @_extern ( wasm, module: " TestModule " , name: " bjs_SwiftBox_wrap " )
92+ fileprivate func _bjs_SwiftBox_wrap_extern( _ pointer: UnsafeMutableRawPointer ) -> Int32
93+ #else
94+ fileprivate func _bjs_SwiftBox_wrap_extern( _ pointer: UnsafeMutableRawPointer ) -> Int32 {
95+ fatalError ( " Only available on WebAssembly " )
96+ }
97+ #endif
98+ @inline ( never) fileprivate func _bjs_SwiftBox_wrap( _ pointer: UnsafeMutableRawPointer ) -> Int32 {
99+ return _bjs_SwiftBox_wrap_extern ( pointer)
100+ }
101+
102+ extension SwiftBox : BridgedSwiftGenericBridgeable {
103+ @_spi ( BridgeJS) public static let bridgeJSTypeHandle = SwiftBox . bridgeJSMakeTypeHandle ( )
104+ }
105+
106+ extension SwiftChoice : BridgedSwiftGenericBridgeable {
107+ @_spi ( BridgeJS) public static let bridgeJSTypeHandle = SwiftChoice . bridgeJSMakeTypeHandle ( )
108+ }
109+
110+ #if arch(wasm32)
111+ @_extern ( wasm, module: " bjs " , name: " bjs_TestModule_register_type_handles " )
112+ fileprivate func _bjs_TestModule_register_type_handles_extern( _ base: UnsafePointer < Int32 > ? , _ count: Int32 )
113+
114+ @_expose( wasm, " bjs_TestModule_register_type_handles " )
115+ public func _bjs_TestModule_register_type_handles( ) {
116+ let typeIds : [ Int32 ] = [
117+ SwiftBox . bridgeJSTypeID,
118+ SwiftChoice . bridgeJSTypeID,
119+ ]
120+ typeIds. withUnsafeBufferPointer { buffer in
121+ _bjs_TestModule_register_type_handles_extern ( buffer. baseAddress, Int32 ( buffer. count) )
122+ }
123+ }
124+ #endif
0 commit comments