You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1788,11 +1781,10 @@ extension _JSONDecoder {
1788
1781
fileprivatefunc unbox(_ value:Any, as type:Int8.Type)throws->Int8?{
1789
1782
guard !(value is NSNull)else{returnnil}
1790
1783
1791
-
guardlet number = value as?NSNumberelse{
1784
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1804,11 +1796,10 @@ extension _JSONDecoder {
1804
1796
fileprivatefunc unbox(_ value:Any, as type:Int16.Type)throws->Int16?{
1805
1797
guard !(value is NSNull)else{returnnil}
1806
1798
1807
-
guardlet number = value as?NSNumberelse{
1799
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1820,11 +1811,10 @@ extension _JSONDecoder {
1820
1811
fileprivatefunc unbox(_ value:Any, as type:Int32.Type)throws->Int32?{
1821
1812
guard !(value is NSNull)else{returnnil}
1822
1813
1823
-
guardlet number = value as?NSNumberelse{
1814
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1836,11 +1826,10 @@ extension _JSONDecoder {
1836
1826
fileprivatefunc unbox(_ value:Any, as type:Int64.Type)throws->Int64?{
1837
1827
guard !(value is NSNull)else{returnnil}
1838
1828
1839
-
guardlet number = value as?NSNumberelse{
1829
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1852,11 +1841,10 @@ extension _JSONDecoder {
1852
1841
fileprivatefunc unbox(_ value:Any, as type:UInt.Type)throws->UInt?{
1853
1842
guard !(value is NSNull)else{returnnil}
1854
1843
1855
-
guardlet number = value as?NSNumberelse{
1844
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1868,11 +1856,10 @@ extension _JSONDecoder {
1868
1856
fileprivatefunc unbox(_ value:Any, as type:UInt8.Type)throws->UInt8?{
1869
1857
guard !(value is NSNull)else{returnnil}
1870
1858
1871
-
guardlet number = value as?NSNumberelse{
1859
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1884,11 +1871,10 @@ extension _JSONDecoder {
1884
1871
fileprivatefunc unbox(_ value:Any, as type:UInt16.Type)throws->UInt16?{
1885
1872
guard !(value is NSNull)else{returnnil}
1886
1873
1887
-
guardlet number = value as?NSNumberelse{
1874
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1900,11 +1886,10 @@ extension _JSONDecoder {
1900
1886
fileprivatefunc unbox(_ value:Any, as type:UInt32.Type)throws->UInt32?{
1901
1887
guard !(value is NSNull)else{returnnil}
1902
1888
1903
-
guardlet number = value as?NSNumberelse{
1889
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1916,11 +1901,10 @@ extension _JSONDecoder {
1916
1901
fileprivatefunc unbox(_ value:Any, as type:UInt64.Type)throws->UInt64?{
1917
1902
guard !(value is NSNull)else{returnnil}
1918
1903
1919
-
guardlet number = value as?NSNumberelse{
1904
+
guardlet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalseelse{
throwDecodingError.dataCorrupted(DecodingError.Context(codingPath:self.codingPath, debugDescription:"Parsed JSON number <\(number)> does not fit in \(type)."))
@@ -1932,8 +1916,7 @@ extension _JSONDecoder {
1932
1916
fileprivatefunc unbox(_ value:Any, as type:Float.Type)throws->Float?{
1933
1917
guard !(value is NSNull)else{returnnil}
1934
1918
1935
-
iflet number = value as?NSNumber{
1936
-
try_checkNotBoolean(number, type: type)
1919
+
iflet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalse {
1937
1920
// We are willing to return a Float by losing precision:
1938
1921
// * If the original value was integral,
1939
1922
// * and the integral value was > Float.greatestFiniteMagnitude, we will fail
@@ -1979,8 +1962,7 @@ extension _JSONDecoder {
1979
1962
fileprivatefunc unbox(_ value:Any, as type:Double.Type)throws->Double?{
1980
1963
guard !(value is NSNull)else{returnnil}
1981
1964
1982
-
iflet number = value as?NSNumber{
1983
-
try_checkNotBoolean(number, type: type)
1965
+
iflet number = value as?NSNumber, number !== kCFBooleanTrue, number !== kCFBooleanFalse {
1984
1966
// We are always willing to return the number as a Double:
1985
1967
// * If the original value was integral, it is guaranteed to fit in a Double; we are willing to lose precision past 2^53 if you encoded a UInt64 but requested a Double
1986
1968
// * If it was a Float or Double, you will get back the precise value
0 commit comments