Converters.swift
23 lignes · 844 octets
import Foundation /// Room `TypeConverter` port: `[String]` ⇄ JSON array string. struct Converters { func fromStringList(_ value: [String]?) -> String { let list = value ?? [] guard let data = try? JSONSerialization.data(withJSONObject: list, options: []), let json = String(data: data, encoding: .utf8) else { return "[]" } return json } func toStringList(_ value: String?) -> [String] { guard let value, value.isNotBlank else { return [] } // Kotlin threw JSONException on malformed input; here malformed input decodes to []. guard let data = value.data(using: .utf8), let arr = try? JSONSerialization.jsonObject(with: data) as? [Any] else { return [] } return arr.compactMap { $0 as? String } } }
GitRust