-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d7eeb34
commit 6d801f3
Showing
16 changed files
with
331 additions
and
423 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
48 changes: 17 additions & 31 deletions
48
RadixWallet/Clients/EntitiesVisibilityClient/EntitiesVisibilityClient+Interface.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,32 @@ | ||
// MARK: - EntitiesVisibilityClient | ||
/// Controls the visibility of the entities in the Wallet | ||
public struct EntitiesVisibilityClient: Sendable { | ||
public var hideAccounts: HideAccounts | ||
public var hidePersonas: HidePersonas | ||
public var unhideAllEntities: UnhideAllEntities | ||
public var getHiddenEntityCounts: GetHiddenEntityCounts | ||
public var hideAccount: HideAccount | ||
public var hidePersona: HidePersona | ||
public var unhideAccount: UnhideAccount | ||
public var unhidePersona: UnhidePersona | ||
public var getHiddenEntities: GetHiddenEntities | ||
} | ||
|
||
extension EntitiesVisibilityClient { | ||
public struct HiddenEntityCounts: Hashable, Sendable { | ||
public let hiddenAccountsCount: Int | ||
public let hiddenPersonasCount: Int | ||
public struct HiddenEntities: Hashable, Sendable { | ||
public let accounts: Accounts | ||
public let personas: Personas | ||
} | ||
|
||
public typealias HideAccounts = @Sendable (Set<Account.ID>) async throws -> Void | ||
public typealias HidePersonas = @Sendable (Set<Persona.ID>) async throws -> Void | ||
public typealias UnhideAllEntities = @Sendable () async throws -> Void | ||
public typealias GetHiddenEntityCounts = @Sendable () async throws -> HiddenEntityCounts | ||
public typealias HideAccount = @Sendable (Account.ID) async throws -> Void | ||
public typealias HidePersona = @Sendable (Persona.ID) async throws -> Void | ||
public typealias UnhideAccount = @Sendable (Account.ID) async throws -> Void | ||
public typealias UnhidePersona = @Sendable (Persona.ID) async throws -> Void | ||
public typealias GetHiddenEntities = @Sendable () async throws -> HiddenEntities | ||
} | ||
|
||
extension EntitiesVisibilityClient { | ||
public func hideAccounts(ids: some Collection<Account.ID>) async throws { | ||
try await hideAccounts(Set(ids)) | ||
func hide(account: Account) async throws { | ||
try await hideAccount(account.id) | ||
} | ||
|
||
public func hidePersonas(ids: some Collection<Persona.ID>) async throws { | ||
try await hidePersonas(Set(ids)) | ||
} | ||
|
||
public func hide(accounts: some Collection<Account>) async throws { | ||
try await hideAccounts(ids: accounts.map(\.id)) | ||
} | ||
|
||
public func hide(personas: some Collection<Persona>) async throws { | ||
try await hidePersonas(ids: personas.map(\.id)) | ||
} | ||
|
||
public func hide(account: Account) async throws { | ||
try await hide(accounts: [account]) | ||
} | ||
|
||
public func hide(persona: Persona) async throws { | ||
try await hide(personas: [persona]) | ||
func hide(persona: Persona) async throws { | ||
try await hidePersona(persona.id) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.