Disk+Errors.swift 1001 B

12345678910111213141516171819202122232425262728293031
  1. import Foundation
  2. public extension Disk {
  3. enum ErrorCode: Int {
  4. case noFileFound = 0
  5. case serialization = 1
  6. case deserialization = 2
  7. case invalidFileName = 3
  8. case couldNotAccessTemporaryDirectory = 4
  9. case couldNotAccessUserDomainMask = 5
  10. case couldNotAccessSharedContainer = 6
  11. }
  12. static let errorDomain = "DiskErrorDomain"
  13. /// Create custom error that FileManager can't account for
  14. internal static func createError(
  15. _ errorCode: ErrorCode,
  16. description: String?,
  17. failureReason: String?,
  18. recoverySuggestion: String?
  19. ) -> Error {
  20. let errorInfo: [String: Any] = [
  21. NSLocalizedDescriptionKey: description ?? "",
  22. NSLocalizedRecoverySuggestionErrorKey: recoverySuggestion ?? "",
  23. NSLocalizedFailureReasonErrorKey: failureReason ?? ""
  24. ]
  25. return NSError(domain: errorDomain, code: errorCode.rawValue, userInfo: errorInfo) as Error
  26. }
  27. }