mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
50 lines
1.9 KiB
Swift
50 lines
1.9 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
@_exported import CloudKit
|
|
import Foundation
|
|
|
|
@available(macOS 10.10, iOS 8.0, watchOS 3.0, *)
|
|
extension CKError {
|
|
/// Retrieve partial error results associated by item ID.
|
|
public var partialErrorsByItemID: [AnyHashable: Error]? {
|
|
return userInfo[CKPartialErrorsByItemIDKey] as? [AnyHashable: NSError]
|
|
as [AnyHashable: Error]?
|
|
}
|
|
|
|
/// The original CKRecord object that you used as the basis for
|
|
/// making your changes.
|
|
public var ancestorRecord: CKRecord? {
|
|
return userInfo[CKRecordChangedErrorAncestorRecordKey] as? CKRecord
|
|
}
|
|
|
|
/// The CKRecord object that was found on the server. Use this
|
|
/// record as the basis for merging your changes.
|
|
public var serverRecord: CKRecord? {
|
|
return userInfo[CKRecordChangedErrorServerRecordKey] as? CKRecord
|
|
}
|
|
|
|
/// The CKRecord object that you tried to save. This record is based
|
|
/// on the record in the CKRecordChangedErrorAncestorRecordKey key
|
|
/// but contains the additional changes you made.
|
|
public var clientRecord: CKRecord? {
|
|
return userInfo[CKRecordChangedErrorClientRecordKey] as? CKRecord
|
|
}
|
|
|
|
/// The number of seconds after which you may retry a request. This
|
|
/// key may be included in an error of type
|
|
/// `CKErrorServiceUnavailable` or `CKErrorRequestRateLimited`.
|
|
public var retryAfterSeconds: Double? {
|
|
return userInfo[CKErrorRetryAfterKey] as? Double
|
|
}
|
|
}
|