builder pattern for proto construction

pull/1/head
Michael Kirk 7 years ago
parent 9299c5e573
commit 06bbe907b9

@ -114,34 +114,34 @@ public class SSKEnvelope: NSObject {
} }
private var asProtobuf: SignalServiceProtos_Envelope { private var asProtobuf: SignalServiceProtos_Envelope {
var proto = SignalServiceProtos_Envelope() let proto = SignalServiceProtos_Envelope.with { (builder) in
builder.source = self.source
proto.source = self.source
builder.type = {
proto.type = { switch self.type {
switch self.type { case .unknown:
case .unknown: return .unknown
return .unknown case .ciphertext:
case .ciphertext: return .ciphertext
return .ciphertext case .keyExchange:
case .keyExchange: return .keyExchange
return .keyExchange case .prekeyBundle:
case .prekeyBundle: return .prekeyBundle
return .prekeyBundle case .receipt:
case .receipt: return .receipt
return .receipt }
}()
builder.timestamp = self.timestamp
builder.sourceDevice = self.sourceDevice
if let relay = self.relay {
builder.relay = relay
} }
}()
proto.timestamp = self.timestamp if let content = self.content {
proto.sourceDevice = self.sourceDevice builder.content = content
}
if let relay = self.relay {
proto.relay = relay
}
if let content = self.content {
proto.content = content
} }
return proto return proto

Loading…
Cancel
Save