mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 01:20:12 +00:00
Avoid too much back and forth throuhg FFI by lazily fetching and storing member proxy properties
This commit is contained in:
committed by
Stefan Ceriu
parent
341b177e23
commit
c2a1560b1d
@@ -31,45 +31,25 @@ final class RoomMemberProxy: RoomMemberProxyProtocol {
|
|||||||
self.member = member
|
self.member = member
|
||||||
}
|
}
|
||||||
|
|
||||||
var userID: String {
|
lazy var userID = member.userId()
|
||||||
member.userId()
|
|
||||||
}
|
|
||||||
|
|
||||||
var displayName: String? {
|
lazy var displayName = member.displayName()
|
||||||
member.displayName()
|
|
||||||
}
|
|
||||||
|
|
||||||
var avatarURL: URL? {
|
lazy var avatarURL = member.avatarUrl().flatMap(URL.init(string:))
|
||||||
member.avatarUrl().flatMap(URL.init(string:))
|
|
||||||
}
|
|
||||||
|
|
||||||
var membership: MembershipState {
|
lazy var membership = member.membership()
|
||||||
member.membership()
|
|
||||||
}
|
|
||||||
|
|
||||||
var isNameAmbiguous: Bool {
|
lazy var isNameAmbiguous = member.isNameAmbiguous()
|
||||||
member.isNameAmbiguous()
|
|
||||||
}
|
|
||||||
|
|
||||||
var powerLevel: Int {
|
lazy var powerLevel = Int(member.powerLevel())
|
||||||
Int(member.powerLevel())
|
|
||||||
}
|
|
||||||
|
|
||||||
var normalizedPowerLevel: Int {
|
lazy var normalizedPowerLevel = Int(member.normalizedPowerLevel())
|
||||||
Int(member.normalizedPowerLevel())
|
|
||||||
}
|
|
||||||
|
|
||||||
var isAccountOwner: Bool {
|
lazy var isAccountOwner = member.isAccountUser()
|
||||||
member.isAccountUser()
|
|
||||||
}
|
|
||||||
|
|
||||||
var isIgnored: Bool {
|
lazy var isIgnored = member.isIgnored()
|
||||||
member.isIgnored()
|
|
||||||
}
|
|
||||||
|
|
||||||
var canInviteUsers: Bool {
|
lazy var canInviteUsers = member.canInvite()
|
||||||
member.canInvite()
|
|
||||||
}
|
|
||||||
|
|
||||||
func canSendStateEvent(type: StateEventType) -> Bool {
|
func canSendStateEvent(type: StateEventType) -> Bool {
|
||||||
member.canSendState(stateEvent: type)
|
member.canSendState(stateEvent: type)
|
||||||
|
|||||||
Reference in New Issue
Block a user