diff --git a/Sources/XXMessengerClient/Utils/FactHelpers.swift b/Sources/XXMessengerClient/Utils/FactHelpers.swift new file mode 100644 index 0000000000000000000000000000000000000000..b948f2eb383797b293ca937a69e6b4739a46fe49 --- /dev/null +++ b/Sources/XXMessengerClient/Utils/FactHelpers.swift @@ -0,0 +1,36 @@ +import XXClient + +extension Array where Element == Fact { + public var username: String? { + get { first(where: { $0.type == 0 })?.fact } + set { + removeAll(where: { $0.type == 0 }) + if let newValue = newValue { + append(Fact(fact: newValue, type: 0)) + sort(by: { $0.type < $1.type }) + } + } + } + + public var email: String? { + get { first(where: { $0.type == 1 })?.fact } + set { + removeAll(where: { $0.type == 1 }) + if let newValue = newValue { + append(Fact(fact: newValue, type: 1)) + sort(by: { $0.type < $1.type }) + } + } + } + + public var phone: String? { + get { first(where: { $0.type == 2 })?.fact } + set { + removeAll(where: { $0.type == 2 }) + if let newValue = newValue { + append(Fact(fact: newValue, type: 2)) + sort(by: { $0.type < $1.type }) + } + } + } +}