in json-rpc/Sources/JsonRpc/Model.swift [210:243]
init(from decoder: Decoder) throws {
let container = try decoder.singleValueContainer()
do {
let value = try container.decode(String.self)
self = .string(value)
} catch {
do {
let value = try container.decode(Int.self)
self = .integer(value)
} catch {
do {
let value = try container.decode(Double.self)
self = .double(value)
} catch {
do {
let value = try container.decode(Bool.self)
self = .bool(value)
} catch {
do {
let value = try container.decode([JSONObject].self)
self = .list(value)
} catch {
do {
let value = try container.decode([String: JSONObject].self)
self = .dictionary(value)
} catch {
self = .none
}
}
}
}
}
}
}