From 64bd8e197bc3db2bbcd45e6e3ebb64e16aad4474 Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:06:58 +0000 Subject: [PATCH 1/6] Fixed Swift warnings --- Sources/Cheetah/Parser.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Cheetah/Parser.swift b/Sources/Cheetah/Parser.swift index 2ae4de4..f3ef569 100644 --- a/Sources/Cheetah/Parser.swift +++ b/Sources/Cheetah/Parser.swift @@ -216,7 +216,7 @@ public struct JSON { func parseFracture(prefix: String, autoNegate: Bool = false) throws -> Double? { var prefix = prefix - if negate && autoNegate && prefix.characters.first != "-" { + if negate && autoNegate && prefix.first != "-" { prefix = "-" + prefix } @@ -228,7 +228,7 @@ public struct JSON { position += 1 } - guard number.characters.count > 0 else { + guard number.count > 0 else { return nil } From 7c567eb884fde38f57c300b4ef00b38fe52a0986 Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:07:56 +0000 Subject: [PATCH 2/6] Fixed Swift warnings --- Sources/Cheetah/Value.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Cheetah/Value.swift b/Sources/Cheetah/Value.swift index 969f9ec..bdb0e1c 100644 --- a/Sources/Cheetah/Value.swift +++ b/Sources/Cheetah/Value.swift @@ -100,7 +100,7 @@ extension String: Value { case 0x00...0x1F: buffer.append(contentsOf: "\\u".utf8) let str = String(char, radix: 16, uppercase: true) - if str.characters.count == 1 { + if str.count == 1 { buffer.append(contentsOf: "000\(str)".utf8) } else { buffer.append(contentsOf: "00\(str)".utf8) From 512b919c06508e4f209f5c0d535b03078cc50cf2 Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:28:12 +0000 Subject: [PATCH 3/6] swift 3 string helper --- Sources/Cheetah/InternalHelpers.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sources/Cheetah/InternalHelpers.swift b/Sources/Cheetah/InternalHelpers.swift index 468cd19..2094fa5 100644 --- a/Sources/Cheetah/InternalHelpers.swift +++ b/Sources/Cheetah/InternalHelpers.swift @@ -31,3 +31,15 @@ extension UInt16 { ] } } + +extension String { + #if swift(>=4.0) + private func toCharacterSequence() -> String { + return self + } + #else + private func toCharacterSequence() -> CharacterView { + return self.characters + } + #endif +} From 5309339d649615d50ecbcdc568521abea077d5a3 Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:28:41 +0000 Subject: [PATCH 4/6] internal function --- Sources/Cheetah/InternalHelpers.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Cheetah/InternalHelpers.swift b/Sources/Cheetah/InternalHelpers.swift index 2094fa5..98c145c 100644 --- a/Sources/Cheetah/InternalHelpers.swift +++ b/Sources/Cheetah/InternalHelpers.swift @@ -34,11 +34,11 @@ extension UInt16 { extension String { #if swift(>=4.0) - private func toCharacterSequence() -> String { + internal func toCharacterSequence() -> String { return self } #else - private func toCharacterSequence() -> CharacterView { + internal func toCharacterSequence() -> CharacterView { return self.characters } #endif From c6d4783b0732bf7542d064f0a45331cb85d58a7c Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:29:42 +0000 Subject: [PATCH 5/6] Update Value.swift --- Sources/Cheetah/Value.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Cheetah/Value.swift b/Sources/Cheetah/Value.swift index bdb0e1c..b4481ce 100644 --- a/Sources/Cheetah/Value.swift +++ b/Sources/Cheetah/Value.swift @@ -100,7 +100,7 @@ extension String: Value { case 0x00...0x1F: buffer.append(contentsOf: "\\u".utf8) let str = String(char, radix: 16, uppercase: true) - if str.count == 1 { + if str.toCharacterSequence().count == 1 { buffer.append(contentsOf: "000\(str)".utf8) } else { buffer.append(contentsOf: "00\(str)".utf8) From 5a4faabef608edc71c1a927db6ecf8102b9dc5fc Mon Sep 17 00:00:00 2001 From: Valerio Mazzeo Date: Wed, 3 Jan 2018 10:30:31 +0000 Subject: [PATCH 6/6] Update Parser.swift --- Sources/Cheetah/Parser.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Cheetah/Parser.swift b/Sources/Cheetah/Parser.swift index f3ef569..5daefdb 100644 --- a/Sources/Cheetah/Parser.swift +++ b/Sources/Cheetah/Parser.swift @@ -216,7 +216,7 @@ public struct JSON { func parseFracture(prefix: String, autoNegate: Bool = false) throws -> Double? { var prefix = prefix - if negate && autoNegate && prefix.first != "-" { + if negate && autoNegate && prefix.toCharacterSequence().first != "-" { prefix = "-" + prefix } @@ -228,7 +228,7 @@ public struct JSON { position += 1 } - guard number.count > 0 else { + guard number.toCharacterSequence().count > 0 else { return nil }