Skip to content

Commit

Permalink
fix: explicitly unwrap double optional for swift 4 compilation
Browse files Browse the repository at this point in the history
  • Loading branch information
bgiori committed Mar 14, 2024
1 parent 6491bce commit de347f9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
14 changes: 8 additions & 6 deletions Sources/Experiment/EvaluationEngine.swift
Original file line number Diff line number Diff line change
Expand Up @@ -293,14 +293,16 @@ internal class EvaluationEngine {
guard let dataValue = coerceString(value: value)?.data(using: .utf8) else {
return nil
}
if let nsArray = try? JSONSerialization.jsonObject(with: dataValue) as? NSArray {
var result = Set<String>()
for element in nsArray {
if let stringElement = coerceString(value: element) {
result.insert(stringElement)
if let opt = try? JSONSerialization.jsonObject(with: dataValue) {
if let nsArray = opt as? NSArray {
var result = Set<String>()
for element in nsArray {
if let stringElement = coerceString(value: element) {
result.insert(stringElement)
}
}
return result
}
return result
}

return nil
Expand Down
8 changes: 5 additions & 3 deletions Sources/Experiment/Variant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,11 @@ import Foundation
// dedcoded to a json object with one key, "payload" which contains the actual json value.
var payload: Any? = nil
if let data = try? values.decode(Data.self, forKey: .payload) {
if let objectPayload = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any?] {
if let subPayload = objectPayload["payload"] {
payload = subPayload
if let opt = try? JSONSerialization.jsonObject(with: data, options: []) {
if let objectPayload = opt as? [String: Any?] {
if let subPayload = objectPayload["payload"] {
payload = subPayload
}
}
}
}
Expand Down

0 comments on commit de347f9

Please sign in to comment.