فهرست منبع

Replace if with switch in URLEncoding (#3214)

dirtmelon 5 سال پیش
والد
کامیت
a57387a4b2
1فایلهای تغییر یافته به همراه9 افزوده شده و 10 حذف شده
  1. 9 10
      Source/ParameterEncoding.swift

+ 9 - 10
Source/ParameterEncoding.swift

@@ -187,27 +187,26 @@ public struct URLEncoding: ParameterEncoding {
     /// - Returns: The percent-escaped, URL encoded query string components.
     /// - Returns: The percent-escaped, URL encoded query string components.
     public func queryComponents(fromKey key: String, value: Any) -> [(String, String)] {
     public func queryComponents(fromKey key: String, value: Any) -> [(String, String)] {
         var components: [(String, String)] = []
         var components: [(String, String)] = []
-
-        if let dictionary = value as? [String: Any] {
+        switch value {
+        case let dictionary as [String: Any]:
             for (nestedKey, value) in dictionary {
             for (nestedKey, value) in dictionary {
                 components += queryComponents(fromKey: "\(key)[\(nestedKey)]", value: value)
                 components += queryComponents(fromKey: "\(key)[\(nestedKey)]", value: value)
             }
             }
-        } else if let array = value as? [Any] {
+        case let array as [Any]:
             for value in array {
             for value in array {
                 components += queryComponents(fromKey: arrayEncoding.encode(key: key), value: value)
                 components += queryComponents(fromKey: arrayEncoding.encode(key: key), value: value)
             }
             }
-        } else if let value = value as? NSNumber {
-            if value.isBool {
-                components.append((escape(key), escape(boolEncoding.encode(value: value.boolValue))))
+        case let number as NSNumber:
+            if number.isBool {
+                components.append((escape(key), escape(boolEncoding.encode(value: number.boolValue))))
             } else {
             } else {
-                components.append((escape(key), escape("\(value)")))
+                components.append((escape(key), escape("\(number)")))
             }
             }
-        } else if let bool = value as? Bool {
+        case let bool as Bool:
             components.append((escape(key), escape(boolEncoding.encode(value: bool))))
             components.append((escape(key), escape(boolEncoding.encode(value: bool))))
-        } else {
+        default:
             components.append((escape(key), escape("\(value)")))
             components.append((escape(key), escape("\(value)")))
         }
         }
-
         return components
         return components
     }
     }