forked from swiftwasm/JavaScriptKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMutatingStructMethod.swift
More file actions
45 lines (40 loc) · 1.49 KB
/
Copy pathMutatingStructMethod.swift
File metadata and controls
45 lines (40 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
extension Counter: _BridgedSwiftStruct {
@_spi(BridgeJS) @_transparent public static func bridgeJSStackPop() -> Counter {
let number = Int.bridgeJSStackPop()
return Counter(number: number)
}
@_spi(BridgeJS) @_transparent public consuming func bridgeJSStackPush() {
self.number.bridgeJSStackPush()
}
init(unsafelyCopying jsObject: JSObject) {
_bjs_struct_lower_Counter(jsObject.bridgeJSLowerParameter())
self = Self.bridgeJSStackPop()
}
func toJSObject() -> JSObject {
let __bjs_self = self
__bjs_self.bridgeJSStackPush()
return JSObject(id: UInt32(bitPattern: _bjs_struct_lift_Counter()))
}
}
#if arch(wasm32)
@_extern(wasm, module: "bjs", name: "swift_js_struct_lower_Counter")
fileprivate func _bjs_struct_lower_Counter_extern(_ objectId: Int32) -> Void
#else
fileprivate func _bjs_struct_lower_Counter_extern(_ objectId: Int32) -> Void {
fatalError("Only available on WebAssembly")
}
#endif
@inline(never) fileprivate func _bjs_struct_lower_Counter(_ objectId: Int32) -> Void {
return _bjs_struct_lower_Counter_extern(objectId)
}
#if arch(wasm32)
@_extern(wasm, module: "bjs", name: "swift_js_struct_lift_Counter")
fileprivate func _bjs_struct_lift_Counter_extern() -> Int32
#else
fileprivate func _bjs_struct_lift_Counter_extern() -> Int32 {
fatalError("Only available on WebAssembly")
}
#endif
@inline(never) fileprivate func _bjs_struct_lift_Counter() -> Int32 {
return _bjs_struct_lift_Counter_extern()
}