Skip to content

Commit c838bd9

Browse files
authored
fix: add support for Decimal property values (#187)
* fix: add support for Decimal property values * fixed lint warnings
1 parent 48b9a37 commit c838bd9

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

Sources/Amplitude/Utilities/CodableExtension.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,8 @@ extension KeyedEncodingContainer {
134134
try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!)
135135
} else if let val = item.value as? CGFloat {
136136
try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!)
137+
} else if let val = item.value as? Decimal {
138+
try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!)
137139
} else if let val = item.value as? Bool {
138140
try container.encodeIfPresent(val, forKey: JSONCodingKeys(stringValue: item.key)!)
139141
} else if let val = item.value as? [Any] {

Tests/AmplitudeTests/Events/BaseEventTests.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ final class BaseEventTests: XCTestCase {
3131
"int64": 1 as Int64,
3232
"int32": 1 as Int32,
3333
"cgfloat": 3.14 as CGFloat,
34-
"double": 3.14 as Double
34+
"double": 3.14 as Double,
35+
"decimal": 3.14 as Decimal
3536
]
3637
)
3738

@@ -62,6 +63,10 @@ final class BaseEventTests: XCTestCase {
6263
baseEventDict!["event_properties"]!["double" as NSString] as! Double,
6364
3.14
6465
)
66+
XCTAssertEqual(
67+
Decimal(baseEventDict!["event_properties"]!["decimal" as NSString] as! Double),
68+
Decimal(3.14)
69+
)
6570
XCTAssertEqual(
6671
baseEventDict!["event_properties"]!["string" as NSString] as! String,
6772
"stringValue"

0 commit comments

Comments
 (0)