From f982e756c238245712963b9fa67182b21e70f873 Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 20 Aug 2016 17:58:52 -0400 Subject: [PATCH] varios tweaks --- Source/SocketExtensions.swift | 4 ++-- Source/SocketPacket.swift | 15 +++++++++------ Source/SocketStringReader.swift | 2 ++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Source/SocketExtensions.swift b/Source/SocketExtensions.swift index 4a47074..7280bba 100644 --- a/Source/SocketExtensions.swift +++ b/Source/SocketExtensions.swift @@ -30,9 +30,9 @@ enum JSONError : Error { } extension Array { - /// Because Swift 3 removes a lot of implicit briding so we have to perform more casts + /// Because Swift 3 removes a lot of implicit briding so we have to perform more explicit bridging func toAnyObjectArray() -> [AnyObject] { - return flatMap({$0 as? AnyObject}) + return flatMap({ $0 as AnyObject }) } } diff --git a/Source/SocketPacket.swift b/Source/SocketPacket.swift index aa333eb..71a79d8 100644 --- a/Source/SocketPacket.swift +++ b/Source/SocketPacket.swift @@ -134,7 +134,7 @@ struct SocketPacket { // binary data private func _fillInPlaceholders(_ object: AnyObject) -> AnyObject { switch object { - case let dict as NSDictionary: + case let dict as [AnyHashable: AnyObject]: if dict["_placeholder"] as? Bool ?? false { return binary[dict["num"] as! Int] as AnyObject } else { @@ -187,11 +187,14 @@ private extension SocketPacket { return placeholder as AnyObject case let arr as [AnyObject]: return arr.map({shred($0, binary: &binary)}) as AnyObject - case let dict as NSDictionary: - return dict.reduce(NSMutableDictionary(), {cur, keyValue in - cur[keyValue.0 as! NSCopying] = shred(keyValue.1 as AnyObject, binary: &binary) - return cur - }) + case let dict as [AnyHashable: AnyObject]: + return dict.reduce([AnyHashable: AnyObject](), {cur, keyValue in + var mutCur = cur + + mutCur[keyValue.0] = shred(keyValue.1 as AnyObject, binary: &binary) + + return mutCur + }) as AnyObject default: return data } diff --git a/Source/SocketStringReader.swift b/Source/SocketStringReader.swift index b0fbcd8..8bdb4d4 100644 --- a/Source/SocketStringReader.swift +++ b/Source/SocketStringReader.swift @@ -47,6 +47,7 @@ struct SocketStringReader { mutating func read(count: Int) -> String { let readString = message[currentIndex.. String { let substring = message[currentIndex..