From 5dae61458de73f32d7fe4c421542128019546411 Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Tue, 5 Apr 2016 02:27:58 -0500 Subject: [PATCH] fixed Bluetooth.UUID: FoundationConvertible --- Sources/UUID.swift | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/Sources/UUID.swift b/Sources/UUID.swift index 11c96d9ed..60c6b0f63 100644 --- a/Sources/UUID.swift +++ b/Sources/UUID.swift @@ -185,40 +185,15 @@ public extension SwiftFoundation.UUID { let data = Data(foundation: foundation.data) - switch data.byteValue.count { - - case 2: - - let littleEndian = UInt16(bytes: (data.byteValue[0], data.byteValue[1])).littleEndian - - let value = UInt16(littleEndian: littleEndian) - - self = .Bit16(value) - - case 16: - - self = .Bit128(SwiftFoundation.UUID(data: data)!) - - default: fatalError("Invalid \(foundation)") - } + guard let UUID = Bluetooth.UUID(data: data) + else { fatalError("Could not create Bluetooth UUID from \(foundation)") } + + self = UUID } public func toFoundation() -> CBUUID { - switch self { - - case let .Bit16(value): - - let littleEndian = value.littleEndian.bytes - - let bytes = isBigEndian ? [littleEndian.1, littleEndian.0] : [littleEndian.0, littleEndian.1] - - return CBUUID(data: Data(byteValue: bytes).toFoundation()) - - case let .Bit128(value): - - return CBUUID(NSUUID: value.toFoundation()) - } + return CBUUID(data: self.toData().toFoundation()) } }