Skip to content

Commit 1c6e9bd

Browse files
committed
Swap to separate properties
1 parent 65980ba commit 1c6e9bd

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Sources/ECMAScript/ArrayBuffer.swift

+8-6
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,6 @@ public class SharedArrayBuffer: JSBridgedClass {
7474
}
7575
}
7676

77-
public protocol ArrayBuffer_or_SharedArrayBuffer: JSValueCompatible {}
78-
extension ArrayBuffer: ArrayBuffer_or_SharedArrayBuffer {}
79-
extension SharedArrayBuffer: ArrayBuffer_or_SharedArrayBuffer {}
80-
8177
public extension JSTypedArray {
8278
convenience init(_ arrayBuffer: ArrayBuffer) {
8379
self.init(unsafelyWrapping: Self.constructor!.new(arrayBuffer))
@@ -87,9 +83,15 @@ public extension JSTypedArray {
8783
self.init(unsafelyWrapping: Self.constructor!.new(sharedArrayBuffer))
8884
}
8985

86+
// Exactly one of these two properties will be non-nil.
87+
@inlinable
88+
var arrayBuffer: ArrayBuffer! {
89+
ArrayBuffer(from: jsObject.buffer)
90+
}
91+
9092
@inlinable
91-
var buffer: ArrayBuffer_or_SharedArrayBuffer {
92-
(ArrayBuffer(from: jsObject.buffer) ?? SharedArrayBuffer(from: jsObject.buffer))!
93+
var sharedArrayBuffer: SharedArrayBuffer! {
94+
SharedArrayBuffer(from: jsObject.buffer)
9395
}
9496
}
9597

0 commit comments

Comments
 (0)