Skip to content

Commit d239f04

Browse files
committed
Move out asyncResult to ConcurrencyHelpers
1 parent 0eacd29 commit d239f04

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

Sources/Basics/Concurrency/ConcurrencyHelpers.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,20 @@ extension DispatchQueue {
5959
}
6060
}
6161
}
62+
63+
package func asyncResult<T: Sendable>(_ callback: @escaping @Sendable (Result<T, Error>) -> Void, _ closure: @escaping @Sendable () async throws -> T) {
64+
let completion: @Sendable (Result<T, Error>) -> Void = {
65+
result in self.async {
66+
callback(result)
67+
}
68+
}
69+
70+
Task {
71+
do {
72+
completion(.success(try await closure()))
73+
} catch {
74+
completion(.failure(error))
75+
}
76+
}
77+
}
6278
}

Sources/PackageRegistry/RegistryClient.swift

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2350,17 +2350,3 @@ extension Result {
23502350
}
23512351
}
23522352
}
2353-
2354-
extension DispatchQueue {
2355-
public func asyncResult<T>(_ callback: @escaping (Result<T, Error>) -> Void, _ closure: @escaping () async throws -> T) {
2356-
let completion: (Result<T, Error>) -> Void = { result in self.async { callback(result) } }
2357-
Task {
2358-
do {
2359-
completion(.success(try await closure()))
2360-
} catch {
2361-
completion(.failure(error))
2362-
}
2363-
}
2364-
}
2365-
}
2366-

0 commit comments

Comments
 (0)