From dd4e995a1831f3b29992fd1ecf2f2e1f8828f2ed Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 7 Sep 2022 22:40:40 +0200 Subject: [PATCH] Add FactHelpers --- .../XXMessengerClient/Utils/FactHelpers.swift | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Sources/XXMessengerClient/Utils/FactHelpers.swift diff --git a/Sources/XXMessengerClient/Utils/FactHelpers.swift b/Sources/XXMessengerClient/Utils/FactHelpers.swift new file mode 100644 index 00000000..b948f2eb --- /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 }) + } + } + } +} -- GitLab