Browse Source

Clean the code.

Mhd Hejazi 5 years ago
parent
commit
b1c0fc055f
2 changed files with 5 additions and 36 deletions
  1. 5 18
      Sources/Dynamic/Dynamic.swift
  2. 0 18
      Sources/Dynamic/Logger.swift

+ 5 - 18
Sources/Dynamic/Dynamic.swift

@@ -71,27 +71,14 @@ public class Dynamic: CustomDebugStringConvertible, Loggable {
         }
     }
 
-    public func dynamicallyCall(withArguments args: [Any?]) -> Dynamic {
+    @discardableResult
+    public func dynamicallyCall(withKeywordArguments pairs: KeyValuePairs<String, Any?>) -> Dynamic {
         if object is AnyClass? && memberName == nil {
             return `init`()
         }
 
         guard let name = memberName else { return self }
 
-        let selector = name + repeatElement(":", count: args.count).joined(separator: "_")
-        callMethod(selector, with: args)
-        return self
-    }
-
-    public func dynamicallyCall<T>(withArguments args: [Any?]) -> T? {
-        let result: Dynamic = dynamicallyCall(withArguments: args)
-        return result.unwrap()
-    }
-
-    @discardableResult
-    public func dynamicallyCall(withKeywordArguments pairs: KeyValuePairs<String, Any?>) -> Dynamic {
-        guard let name = memberName else { return self }
-
         let selector = name + pairs.reduce("") { result, pair in
             if result.isEmpty {
                 return (pair.key.first?.uppercased() ?? "") + pair.key.dropFirst() + ":"
@@ -249,15 +236,15 @@ extension Dynamic {
             guard let object = value.nonretainedObjectValue else { return nil }
 
             if type(of: object) is T.Type {
-                return value.nonretainedObjectValue as? T
+                return object as? T
             }
 
             if let mappedType = TypeMapping.mappedType(for: T.self) as? AnyClass,
-            (object as AnyObject).isKind(of: mappedType) {
+                (object as AnyObject).isKind(of: mappedType) {
                 return TypeMapping.convertType(of: object) as? T
             }
 
-            return value.nonretainedObjectValue as? T
+            return object as? T
         }
 
         var storedSize = 0

+ 0 - 18
Sources/Dynamic/Logger.swift

@@ -8,30 +8,12 @@ import Foundation
 
 protocol Loggable: AnyObject {
     var loggingEnabled: Bool { get }
-    func print(_ items: Any...)
 }
 
 extension Loggable {
     var loggingEnabled: Bool { false }
     var logUsingPrint: Bool { true }
 
-    func print(_ items: Any...) {
-        guard logUsingPrint else {
-            switch items.count {
-            case 1: Swift.print(items[0])
-            case 2: Swift.print(items[0], items[1])
-            case 3: Swift.print(items[0], items[1], items[2])
-            case 4: Swift.print(items[0], items[1], items[2], items[3])
-            case 5: Swift.print(items[0], items[1], items[2], items[3], items[4])
-            default: Swift.print(items)
-            }
-            return
-        }
-
-        guard loggingEnabled else { return }
-        Logger.logger(for: self).log(items)
-    }
-
     @discardableResult
     func log(_ items: Any...) -> Logger {
         guard loggingEnabled else { return Logger.dummy }