Import System package when available (#34)
* Import System package when available * Add isResourceTemporarilyUnavailable helper method to reduce number of imports of System / SystemPackage
This commit is contained in:
parent
97b756c0f4
commit
d55140bc46
1 changed files with 42 additions and 9 deletions
|
|
@ -1,5 +1,11 @@
|
|||
import Foundation
|
||||
|
||||
#if canImport(System)
|
||||
import System
|
||||
#else
|
||||
@preconcurrency import SystemPackage
|
||||
#endif
|
||||
|
||||
/// A model context protocol error.
|
||||
public enum Error: Sendable {
|
||||
// Standard JSON-RPC 2.0 errors (-32700 to -32603)
|
||||
|
|
@ -29,6 +35,20 @@ public enum Error: Sendable {
|
|||
case .transportError: return -32001
|
||||
}
|
||||
}
|
||||
|
||||
/// Check if an error represents a "resource temporarily unavailable" condition
|
||||
public static func isResourceTemporarilyUnavailable(_ error: Swift.Error) -> Bool {
|
||||
#if canImport(System)
|
||||
if let errno = error as? System.Errno, errno == .resourceTemporarilyUnavailable {
|
||||
return true
|
||||
}
|
||||
#else
|
||||
if let errno = error as? SystemPackage.Errno, errno == .resourceTemporarilyUnavailable {
|
||||
return true
|
||||
}
|
||||
#endif
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: LocalizedError
|
||||
|
|
|
|||
Loading…
Reference in a new issue