func encode()

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)
    }