Skip to content

Commit f21075c

Browse files
committed
BridgeJS: Fix optionals build error with Embedded Swift
Remove @_spi(BridgeJS) from _BridgedAsOptional protocol and its Optional/JSUndefinedOr conformances so the conformances are visible in Embedded Swift mode. The underscore-prefixed protocol name already signals internal API, and all extension methods remain @_spi-gated. Fixes #689
1 parent 44ebc38 commit f21075c

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

Sources/JavaScriptKit/BridgeJSIntrinsics.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,13 @@ extension _BridgedSwiftStackType {
182182

183183
/// Types that bridge with the same (isSome, value) ABI as Optional.
184184
/// Used by JSUndefinedOr so all bridge methods delegate to Optional<Wrapped>.
185-
@_spi(BridgeJS) public protocol _BridgedAsOptional {
185+
public protocol _BridgedAsOptional {
186186
associatedtype Wrapped
187187
var asOptional: Wrapped? { get }
188188
init(optional: Wrapped?)
189189
}
190190

191-
@_spi(BridgeJS) extension Optional: _BridgedAsOptional {
191+
extension Optional: _BridgedAsOptional {
192192
public var asOptional: Wrapped? { self }
193193
public init(optional: Wrapped?) { self = optional }
194194
}

Sources/JavaScriptKit/JSUndefinedOr.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,4 @@ extension JSUndefinedOr: ConvertibleToJSValue where Wrapped: ConvertibleToJSValu
5353

5454
// MARK: - BridgeJS (via _BridgedAsOptional in BridgeJSIntrinsics)
5555

56-
@_spi(BridgeJS) extension JSUndefinedOr: _BridgedAsOptional {}
56+
extension JSUndefinedOr: _BridgedAsOptional {}

0 commit comments

Comments
 (0)