in Sources/XCRemoteCache/Commands/Prepare/XCPrepare.swift [178:200]
func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
let result: Bool
let commit: String?
let age: Int?
let recommendedRemoteAddress: URL?
switch self {
case .failed:
result = false
commit = nil
age = nil
recommendedRemoteAddress = nil
case .preparedFor(let sha, let remoteAddress):
result = true
commit = sha.sha
age = sha.age
recommendedRemoteAddress = remoteAddress
}
try container.encode(result, forKey: .result)
try container.encode(commit, forKey: .commit)
try container.encode(age, forKey: .age)
try container.encode(recommendedRemoteAddress, forKey: .recommendedRemoteAddress)
}