From 8356f129f48b097903c0e163a3a0d0791f243fac Mon Sep 17 00:00:00 2001 From: Dmitry Kupriyanov Date: Tue, 2 Jul 2024 11:16:47 +0400 Subject: [PATCH 1/2] fix: add support for Decimal property values --- Sources/Amplitude/Utilities/CodableExtension.swift | 2 ++ Tests/AmplitudeTests/Events/BaseEventTests.swift | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Sources/Amplitude/Utilities/CodableExtension.swift b/Sources/Amplitude/Utilities/CodableExtension.swift index 4b981aad..22f52c50 100644 --- a/Sources/Amplitude/Utilities/CodableExtension.swift +++ b/Sources/Amplitude/Utilities/CodableExtension.swift @@ -134,6 +134,8 @@ extension KeyedEncodingContainer { try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!) } else if let val = item.value as? CGFloat { try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!) + } else if let val = item.value as? Decimal { + try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!) } else if let val = item.value as? Bool { try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!) } else if let val = item.value as? [Any] { diff --git a/Tests/AmplitudeTests/Events/BaseEventTests.swift b/Tests/AmplitudeTests/Events/BaseEventTests.swift index 5f03ffb3..e0fa99f5 100644 --- a/Tests/AmplitudeTests/Events/BaseEventTests.swift +++ b/Tests/AmplitudeTests/Events/BaseEventTests.swift @@ -31,7 +31,8 @@ final class BaseEventTests: XCTestCase { "int64": 1 as Int64, "int32": 1 as Int32, "cgfloat": 3.14 as CGFloat, - "double": 3.14 as Double + "double": 3.14 as Double, + "decimal": 3.14 as Decimal ] ) @@ -62,6 +63,10 @@ final class BaseEventTests: XCTestCase { baseEventDict!["event_properties"]!["double" as NSString] as! Double, 3.14 ) + XCTAssertEqual( + Decimal(floatLiteral: baseEventDict!["event_properties"]!["decimal" as NSString] as! Double), + Decimal(floatLiteral: 3.14) + ) XCTAssertEqual( baseEventDict!["event_properties"]!["string" as NSString] as! String, "stringValue" From b9927eb22cd63908bfe8419a84e2ae899ca99935 Mon Sep 17 00:00:00 2001 From: Dmitry Kupriyanov Date: Thu, 4 Jul 2024 11:06:13 +0400 Subject: [PATCH 2/2] fixed lint warnings --- Tests/AmplitudeTests/Events/BaseEventTests.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/AmplitudeTests/Events/BaseEventTests.swift b/Tests/AmplitudeTests/Events/BaseEventTests.swift index e0fa99f5..8b7c0079 100644 --- a/Tests/AmplitudeTests/Events/BaseEventTests.swift +++ b/Tests/AmplitudeTests/Events/BaseEventTests.swift @@ -64,8 +64,8 @@ final class BaseEventTests: XCTestCase { 3.14 ) XCTAssertEqual( - Decimal(floatLiteral: baseEventDict!["event_properties"]!["decimal" as NSString] as! Double), - Decimal(floatLiteral: 3.14) + Decimal(baseEventDict!["event_properties"]!["decimal" as NSString] as! Double), + Decimal(3.14) ) XCTAssertEqual( baseEventDict!["event_properties"]!["string" as NSString] as! String,