Skip to content
Snippets Groups Projects

Fix user discovery search

Merged Dariusz Rybicki requested to merge fix/ud-search into development
2 files
+ 45
2
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -20,7 +20,8 @@ extension UDSearchResult: Codable {
}
public static func decode(_ data: Data) throws -> Self {
try JSONDecoder().decode(Self.self, from: data)
let data = convertBigIntsToStrings(jsonData: data)
return try JSONDecoder().decode(Self.self, from: data)
}
public func encode() throws -> Data {
@@ -30,10 +31,26 @@ extension UDSearchResult: Codable {
extension Array where Element == UDSearchResult {
public static func decode(_ data: Data) throws -> Self {
try JSONDecoder().decode(Self.self, from: data)
let data = convertBigIntsToStrings(jsonData: data)
return try JSONDecoder().decode(Self.self, from: data)
}
public func encode() throws -> Data {
try JSONEncoder().encode(self)
}
}
private func convertBigIntsToStrings(jsonData input: Data) -> Data {
guard var string = String(data: input, encoding: .utf8) else {
return input
}
string = string.replacingOccurrences(
of: #":\s*([0-9]{19,})\s*,"#,
with: #": "$1","#,
options: [.regularExpression]
)
guard let output = string.data(using: .utf8) else {
return input
}
return output
}
Loading