Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit af54f34

Browse files
Build fix
1 parent eeff111 commit af54f34

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

‎Sources/JavaScriptEventLoop/JSObject+Transferring.swift‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public struct JSSending<T>: @unchecked Sendable {
7979
}
8080
}
8181

82+
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
8283
extension JSSending where T == JSObject {
8384
private init(_ object: JSObject, transferring: Bool) {
8485
self.init(
@@ -165,6 +166,7 @@ extension JSSending where T == JSObject {
165166
}
166167
}
167168

169+
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
168170
extension JSSending {
169171

170172
/// Receives a sent `JSObject` from a thread.
@@ -257,10 +259,12 @@ extension JSSending {
257259
/// - isolation: The actor isolation context for this call, used in Swift concurrency.
258260
/// - Returns: A tuple containing the received objects.
259261
/// - Throws: `JSSendingError` if any sending operation fails, or `JSException` if a JavaScript error occurs.
262+
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
260263
public static func receive<each U>(
261264
_ sendings: repeat JSSending<each U>,
262265
isolation: isolated (any Actor)? = #isolation, file: StaticString = #file, line: UInt = #line
263266
) async throws -> (repeat each U) where T == (repeat each U) {
267+
#if compiler(>=6.1) && _runtime(_multithreaded)
264268
var sendingObjects: [JavaScriptObjectRef] = []
265269
var transferringObjects: [JavaScriptObjectRef] = []
266270
var sourceTid: Int32?
@@ -302,9 +306,13 @@ extension JSSending {
302306
return sending.storage.construct(result.object!)
303307
}
304308
return (repeat extract(each sendings))
309+
#else
310+
return (repeat each sendings.receive())
311+
#endif
305312
}
306313
}
307314

315+
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
308316
fileprivate final class _JSSendingContext: Sendable {
309317
let continuation: CheckedContinuation<JavaScriptObjectRef, Error>
310318

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /