ソースを参照

Merge pull request #98 from kishikawakatsumi/unbox

No more boxing of values and errors
kishikawa katsumi 10 年 前
コミット
280ff36261
1 ファイル変更5 行追加10 行削除
  1. 5 10
      Lib/KeychainAccess/Keychain.swift

+ 5 - 10
Lib/KeychainAccess/Keychain.swift

@@ -76,11 +76,11 @@ public enum AuthenticationPolicy : Int {
 }
 
 public enum FailableOf<T> {
-    case Success(Value<T?>)
+    case Success(T?)
     case Failure(NSError)
     
     init(_ value: T?) {
-        self = .Success(Value(value))
+        self = .Success(value)
     }
     
     init(_ error: NSError) {
@@ -117,18 +117,13 @@ public enum FailableOf<T> {
     public var value: T? {
         switch self {
         case .Success(let success):
-            return success.value
+            return success
         default:
             return nil
         }
     }
 }
 
-public class Value<T> {
-    let value: T
-    init(_ value: T) { self.value = value }
-}
-
 public class Keychain {
     public var itemClass: ItemClass {
         return options.itemClass
@@ -1346,7 +1341,7 @@ extension FailableOf: CustomStringConvertible, CustomDebugStringConvertible {
     public var description: String {
         switch self {
         case .Success(let success):
-            if let value = success.value {
+            if let value = success {
                 return "\(value)"
             }
             return "nil"
@@ -1358,7 +1353,7 @@ extension FailableOf: CustomStringConvertible, CustomDebugStringConvertible {
     public var debugDescription: String {
         switch self {
         case .Success(let success):
-            return "\(success.value)"
+            return "\(success)"
         case .Failure(let error):
             return "\(error)"
         }