FieldRuntimeError.swift (1389B)
1 import Foundation 2 3 enum FieldRuntimeErrorCategory: String, Sendable { 4 case initialization 5 case identity 6 case secureStore 7 case relay 8 case runtime 9 case unsupported 10 case internalFailure 11 } 12 13 extension RadrootsAppError { 14 var fieldCategory: FieldRuntimeErrorCategory { 15 switch self { 16 case .Initialization(_): 17 .initialization 18 case .Identity(_): 19 .identity 20 case .SecureStore(_): 21 .secureStore 22 case .Relay(_): 23 .relay 24 case .Runtime(_): 25 .runtime 26 case .Unsupported(_): 27 .unsupported 28 case .Internal(_): 29 .internalFailure 30 } 31 } 32 33 var fieldMessage: String { 34 switch self { 35 case .Initialization(let message), 36 .Identity(let message), 37 .SecureStore(let message), 38 .Relay(let message), 39 .Runtime(let message), 40 .Unsupported(let message), 41 .Internal(let message): 42 message 43 } 44 } 45 } 46 47 extension Error { 48 var fieldRuntimeErrorCategory: FieldRuntimeErrorCategory? { 49 (self as? RadrootsAppError)?.fieldCategory 50 } 51 52 var fieldRuntimeMessage: String { 53 if let fieldError = self as? RadrootsAppError { 54 return fieldError.fieldMessage 55 } 56 return localizedDescription 57 } 58 }