123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import Foundation
- public enum Result<Value, Error: ErrorType> {
- case Success(Value)
- case Failure(Error)
-
- public var isSuccess: Bool {
- switch self {
- case .Success:
- return true
- case .Failure:
- return false
- }
- }
-
- public var isFailure: Bool {
- return !isSuccess
- }
-
- public var value: Value? {
- switch self {
- case .Success(let value):
- return value
- case .Failure:
- return nil
- }
- }
-
- public var error: Error? {
- switch self {
- case .Success:
- return nil
- case .Failure(let error):
- return error
- }
- }
- }
- extension Result: CustomStringConvertible {
-
-
- public var description: String {
- switch self {
- case .Success:
- return "SUCCESS"
- case .Failure:
- return "FAILURE"
- }
- }
- }
- extension Result: CustomDebugStringConvertible {
-
-
- public var debugDescription: String {
- switch self {
- case .Success(let value):
- return "SUCCESS: \(value)"
- case .Failure(let error):
- return "FAILURE: \(error)"
- }
- }
- }
|