mirror of
https://github.com/metabolist/metatext.git
synced 2024-11-28 19:11:30 +00:00
Renaming
This commit is contained in:
parent
538cbe42c3
commit
a124c44eb1
14 changed files with 44 additions and 44 deletions
|
@ -215,7 +215,7 @@ public extension ContentDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func observation(timeline: Timeline) -> AnyPublisher<[[CollectionItem]], Error> {
|
func timelinePublisher(_ timeline: Timeline) -> AnyPublisher<[[CollectionItem]], Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
TimelineItemsInfo.request(TimelineRecord.filter(TimelineRecord.Columns.id == timeline.id)).fetchOne)
|
TimelineItemsInfo.request(TimelineRecord.filter(TimelineRecord.Columns.id == timeline.id)).fetchOne)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
|
@ -225,7 +225,7 @@ public extension ContentDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func contextObservation(id: Status.Id) -> AnyPublisher<[[CollectionItem]], Error> {
|
func contextPublisher(id: Status.Id) -> AnyPublisher<[[CollectionItem]], Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
ContextItemsInfo.request(StatusRecord.filter(StatusRecord.Columns.id == id)).fetchOne)
|
ContextItemsInfo.request(StatusRecord.filter(StatusRecord.Columns.id == id)).fetchOne)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
|
@ -235,7 +235,7 @@ public extension ContentDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func listsObservation() -> AnyPublisher<[Timeline], Error> {
|
func listsPublisher() -> AnyPublisher<[Timeline], Error> {
|
||||||
ValueObservation.tracking(TimelineRecord.filter(TimelineRecord.Columns.listId != nil)
|
ValueObservation.tracking(TimelineRecord.filter(TimelineRecord.Columns.listId != nil)
|
||||||
.order(TimelineRecord.Columns.listTitle.asc)
|
.order(TimelineRecord.Columns.listTitle.asc)
|
||||||
.fetchAll)
|
.fetchAll)
|
||||||
|
@ -245,14 +245,14 @@ public extension ContentDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func expiredFiltersObservation() -> AnyPublisher<[Filter], Error> {
|
func expiredFiltersPublisher() -> AnyPublisher<[Filter], Error> {
|
||||||
ValueObservation.tracking { try Filter.filter(Filter.Columns.expiresAt < Date()).fetchAll($0) }
|
ValueObservation.tracking { try Filter.filter(Filter.Columns.expiresAt < Date()).fetchAll($0) }
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
.publisher(in: databaseWriter)
|
.publisher(in: databaseWriter)
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func accountObservation(id: Account.Id) -> AnyPublisher<Account, Error> {
|
func accountPublisher(id: Account.Id) -> AnyPublisher<Account, Error> {
|
||||||
ValueObservation.tracking(AccountInfo.request(AccountRecord.filter(AccountRecord.Columns.id == id)).fetchOne)
|
ValueObservation.tracking(AccountInfo.request(AccountRecord.filter(AccountRecord.Columns.id == id)).fetchOne)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
.publisher(in: databaseWriter)
|
.publisher(in: databaseWriter)
|
||||||
|
@ -261,7 +261,7 @@ public extension ContentDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func accountListObservation(_ list: AccountList) -> AnyPublisher<[Account], Error> {
|
func accountListPublisher(_ list: AccountList) -> AnyPublisher<[Account], Error> {
|
||||||
ValueObservation.tracking(list.accounts.fetchAll)
|
ValueObservation.tracking(list.accounts.fetchAll)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
.map { $0.map(Account.init(info:)) }
|
.map { $0.map(Account.init(info:)) }
|
||||||
|
|
|
@ -152,7 +152,7 @@ public extension IdentityDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func identityObservation(id: Identity.Id, immediate: Bool) -> AnyPublisher<Identity, Error> {
|
func identityPublisher(id: Identity.Id, immediate: Bool) -> AnyPublisher<Identity, Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
IdentityInfo.request(IdentityRecord.filter(IdentityRecord.Columns.id == id)).fetchOne)
|
IdentityInfo.request(IdentityRecord.filter(IdentityRecord.Columns.id == id)).fetchOne)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
|
@ -165,7 +165,7 @@ public extension IdentityDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func identitiesObservation() -> AnyPublisher<[Identity], Error> {
|
func identitiesPublisher() -> AnyPublisher<[Identity], Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc)).fetchAll)
|
IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc)).fetchAll)
|
||||||
.removeDuplicates()
|
.removeDuplicates()
|
||||||
|
@ -174,7 +174,7 @@ public extension IdentityDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func recentIdentitiesObservation(excluding: Identity.Id) -> AnyPublisher<[Identity], Error> {
|
func recentIdentitiesPublisher(excluding: Identity.Id) -> AnyPublisher<[Identity], Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc))
|
IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc))
|
||||||
.filter(IdentityRecord.Columns.id != excluding)
|
.filter(IdentityRecord.Columns.id != excluding)
|
||||||
|
@ -186,7 +186,7 @@ public extension IdentityDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func immediateMostRecentlyUsedIdentityIdObservation() -> AnyPublisher<Identity.Id?, Error> {
|
func immediateMostRecentlyUsedIdentityIdPublisher() -> AnyPublisher<Identity.Id?, Error> {
|
||||||
ValueObservation.tracking(
|
ValueObservation.tracking(
|
||||||
IdentityRecord.select(IdentityRecord.Columns.id)
|
IdentityRecord.select(IdentityRecord.Columns.id)
|
||||||
.order(IdentityRecord.Columns.lastUsedAt.desc).fetchOne)
|
.order(IdentityRecord.Columns.lastUsedAt.desc).fetchOne)
|
||||||
|
@ -195,7 +195,7 @@ public extension IdentityDatabase {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func identitiesWithOutdatedDeviceTokens(deviceToken: Data) -> AnyPublisher<[Identity], Error> {
|
func fetchIdentitiesWithOutdatedDeviceTokens(deviceToken: Data) -> AnyPublisher<[Identity], Error> {
|
||||||
databaseWriter.readPublisher(
|
databaseWriter.readPublisher(
|
||||||
value: IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc))
|
value: IdentityInfo.request(IdentityRecord.order(IdentityRecord.Columns.lastUsedAt.desc))
|
||||||
.filter(IdentityRecord.Columns.lastRegisteredDeviceToken != deviceToken)
|
.filter(IdentityRecord.Columns.lastRegisteredDeviceToken != deviceToken)
|
||||||
|
|
|
@ -22,7 +22,7 @@ public struct AccountListService {
|
||||||
self.endpoint = endpoint
|
self.endpoint = endpoint
|
||||||
self.mastodonAPIClient = mastodonAPIClient
|
self.mastodonAPIClient = mastodonAPIClient
|
||||||
self.contentDatabase = contentDatabase
|
self.contentDatabase = contentDatabase
|
||||||
sections = contentDatabase.accountListObservation(list)
|
sections = contentDatabase.accountListPublisher(list)
|
||||||
.map { [$0.map(CollectionItem.account)] }
|
.map { [$0.map(CollectionItem.account)] }
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
nextPageMaxId = nextPageMaxIdSubject.eraseToAnyPublisher()
|
nextPageMaxId = nextPageMaxIdSubject.eraseToAnyPublisher()
|
||||||
|
|
|
@ -34,8 +34,8 @@ public extension AllIdentitiesService {
|
||||||
try IdentityService(id: id, database: database, environment: environment)
|
try IdentityService(id: id, database: database, environment: environment)
|
||||||
}
|
}
|
||||||
|
|
||||||
func immediateMostRecentlyUsedIdentityIdObservation() -> AnyPublisher<Identity.Id?, Error> {
|
func immediateMostRecentlyUsedIdentityIdPublisher() -> AnyPublisher<Identity.Id?, Error> {
|
||||||
database.immediateMostRecentlyUsedIdentityIdObservation()
|
database.immediateMostRecentlyUsedIdentityIdPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func createIdentity(url: URL, kind: IdentityCreation) -> AnyPublisher<Never, Error> {
|
func createIdentity(url: URL, kind: IdentityCreation) -> AnyPublisher<Never, Error> {
|
||||||
|
@ -113,7 +113,7 @@ public extension AllIdentitiesService {
|
||||||
}
|
}
|
||||||
|
|
||||||
func updatePushSubscriptions(deviceToken: Data) -> AnyPublisher<Never, Error> {
|
func updatePushSubscriptions(deviceToken: Data) -> AnyPublisher<Never, Error> {
|
||||||
database.identitiesWithOutdatedDeviceTokens(deviceToken: deviceToken)
|
database.fetchIdentitiesWithOutdatedDeviceTokens(deviceToken: deviceToken)
|
||||||
.tryMap { identities -> [AnyPublisher<Never, Never>] in
|
.tryMap { identities -> [AnyPublisher<Never, Never>] in
|
||||||
try identities.map {
|
try identities.map {
|
||||||
try IdentityService(id: $0.id, database: database, environment: environment)
|
try IdentityService(id: $0.id, database: database, environment: environment)
|
||||||
|
|
|
@ -18,7 +18,7 @@ public struct ContextService {
|
||||||
self.id = id
|
self.id = id
|
||||||
self.mastodonAPIClient = mastodonAPIClient
|
self.mastodonAPIClient = mastodonAPIClient
|
||||||
self.contentDatabase = contentDatabase
|
self.contentDatabase = contentDatabase
|
||||||
sections = contentDatabase.contextObservation(id: id)
|
sections = contentDatabase.contextPublisher(id: id)
|
||||||
navigationService = NavigationService(mastodonAPIClient: mastodonAPIClient, contentDatabase: contentDatabase)
|
navigationService = NavigationService(mastodonAPIClient: mastodonAPIClient, contentDatabase: contentDatabase)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,12 +60,12 @@ public extension IdentityService {
|
||||||
identityDatabase.confirmIdentity(id: id)
|
identityDatabase.confirmIdentity(id: id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func identitiesObservation() -> AnyPublisher<[Identity], Error> {
|
func identitiesPublisher() -> AnyPublisher<[Identity], Error> {
|
||||||
identityDatabase.identitiesObservation()
|
identityDatabase.identitiesPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func recentIdentitiesObservation() -> AnyPublisher<[Identity], Error> {
|
func recentIdentitiesPublisher() -> AnyPublisher<[Identity], Error> {
|
||||||
identityDatabase.recentIdentitiesObservation(excluding: id)
|
identityDatabase.recentIdentitiesPublisher(excluding: id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func refreshLists() -> AnyPublisher<Never, Error> {
|
func refreshLists() -> AnyPublisher<Never, Error> {
|
||||||
|
@ -87,12 +87,12 @@ public extension IdentityService {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func observation(immediate: Bool) -> AnyPublisher<Identity, Error> {
|
func identityPublisher(immediate: Bool) -> AnyPublisher<Identity, Error> {
|
||||||
identityDatabase.identityObservation(id: id, immediate: immediate)
|
identityDatabase.identityPublisher(id: id, immediate: immediate)
|
||||||
}
|
}
|
||||||
|
|
||||||
func listsObservation() -> AnyPublisher<[Timeline], Error> {
|
func listsPublisher() -> AnyPublisher<[Timeline], Error> {
|
||||||
contentDatabase.listsObservation()
|
contentDatabase.listsPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func refreshFilters() -> AnyPublisher<Never, Error> {
|
func refreshFilters() -> AnyPublisher<Never, Error> {
|
||||||
|
@ -128,12 +128,12 @@ public extension IdentityService {
|
||||||
.eraseToAnyPublisher()
|
.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func activeFiltersObservation() -> AnyPublisher<[Filter], Error> {
|
func activeFiltersPublisher() -> AnyPublisher<[Filter], Error> {
|
||||||
contentDatabase.activeFiltersPublisher
|
contentDatabase.activeFiltersPublisher
|
||||||
}
|
}
|
||||||
|
|
||||||
func expiredFiltersObservation() -> AnyPublisher<[Filter], Error> {
|
func expiredFiltersPublisher() -> AnyPublisher<[Filter], Error> {
|
||||||
contentDatabase.expiredFiltersObservation()
|
contentDatabase.expiredFiltersPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
func updatePreferences(_ preferences: Identity.Preferences) -> AnyPublisher<Never, Error> {
|
func updatePreferences(_ preferences: Identity.Preferences) -> AnyPublisher<Never, Error> {
|
||||||
|
|
|
@ -34,7 +34,7 @@ public struct ProfileService {
|
||||||
self.mastodonAPIClient = mastodonAPIClient
|
self.mastodonAPIClient = mastodonAPIClient
|
||||||
self.contentDatabase = contentDatabase
|
self.contentDatabase = contentDatabase
|
||||||
|
|
||||||
var accountPublisher = contentDatabase.accountObservation(id: id)
|
var accountPublisher = contentDatabase.accountPublisher(id: id)
|
||||||
|
|
||||||
if let account = account {
|
if let account = account {
|
||||||
accountPublisher = accountPublisher
|
accountPublisher = accountPublisher
|
||||||
|
|
|
@ -21,7 +21,7 @@ public struct TimelineService {
|
||||||
self.timeline = timeline
|
self.timeline = timeline
|
||||||
self.mastodonAPIClient = mastodonAPIClient
|
self.mastodonAPIClient = mastodonAPIClient
|
||||||
self.contentDatabase = contentDatabase
|
self.contentDatabase = contentDatabase
|
||||||
sections = contentDatabase.observation(timeline: timeline)
|
sections = contentDatabase.timelinePublisher(timeline)
|
||||||
navigationService = NavigationService(mastodonAPIClient: mastodonAPIClient, contentDatabase: contentDatabase)
|
navigationService = NavigationService(mastodonAPIClient: mastodonAPIClient, contentDatabase: contentDatabase)
|
||||||
nextPageMaxId = nextPageMaxIdSubject.eraseToAnyPublisher()
|
nextPageMaxId = nextPageMaxIdSubject.eraseToAnyPublisher()
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,12 @@ public final class Identification: ObservableObject {
|
||||||
@Published private(set) public var identity: Identity
|
@Published private(set) public var identity: Identity
|
||||||
let service: IdentityService
|
let service: IdentityService
|
||||||
|
|
||||||
init(identity: Identity, observation: AnyPublisher<Identity, Never>, service: IdentityService) {
|
init(identity: Identity, publisher: AnyPublisher<Identity, Never>, service: IdentityService) {
|
||||||
self.identity = identity
|
self.identity = identity
|
||||||
self.service = service
|
self.service = service
|
||||||
|
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
observation.dropFirst().assign(to: &self.$identity)
|
publisher.dropFirst().assign(to: &self.$identity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,11 +16,11 @@ public final class FiltersViewModel: ObservableObject {
|
||||||
public init(identification: Identification) {
|
public init(identification: Identification) {
|
||||||
self.identification = identification
|
self.identification = identification
|
||||||
|
|
||||||
identification.service.activeFiltersObservation()
|
identification.service.activeFiltersPublisher()
|
||||||
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||||
.assign(to: &$activeFilters)
|
.assign(to: &$activeFilters)
|
||||||
|
|
||||||
identification.service.expiredFiltersObservation()
|
identification.service.expiredFiltersPublisher()
|
||||||
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||||
.assign(to: &$expiredFilters)
|
.assign(to: &$expiredFilters)
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,15 +18,15 @@ public final class IdentitiesViewModel: ObservableObject {
|
||||||
self.identification = identification
|
self.identification = identification
|
||||||
currentIdentityId = identification.identity.id
|
currentIdentityId = identification.identity.id
|
||||||
|
|
||||||
let observation = identification.service.identitiesObservation()
|
let identitiesPublisher = identification.service.identitiesPublisher()
|
||||||
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||||
.share()
|
.share()
|
||||||
|
|
||||||
observation.map { $0.filter { $0.authenticated && !$0.pending } }
|
identitiesPublisher.map { $0.filter { $0.authenticated && !$0.pending } }
|
||||||
.assign(to: &$authenticated)
|
.assign(to: &$authenticated)
|
||||||
observation.map { $0.filter { !$0.authenticated && !$0.pending } }
|
identitiesPublisher.map { $0.filter { !$0.authenticated && !$0.pending } }
|
||||||
.assign(to: &$unauthenticated)
|
.assign(to: &$unauthenticated)
|
||||||
observation.map { $0.filter { $0.pending } }
|
identitiesPublisher.map { $0.filter { $0.pending } }
|
||||||
.assign(to: &$pending)
|
.assign(to: &$pending)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ public final class ListsViewModel: ObservableObject {
|
||||||
public init(identification: Identification) {
|
public init(identification: Identification) {
|
||||||
self.identification = identification
|
self.identification = identification
|
||||||
|
|
||||||
identification.service.listsObservation()
|
identification.service.listsPublisher()
|
||||||
.map {
|
.map {
|
||||||
$0.compactMap {
|
$0.compactMap {
|
||||||
guard case let .list(list) = $0 else { return nil }
|
guard case let .list(list) = $0 else { return nil }
|
||||||
|
|
|
@ -27,12 +27,12 @@ public final class NavigationViewModel: ObservableObject {
|
||||||
.sink { [weak self] _ in self?.objectWillChange.send() }
|
.sink { [weak self] _ in self?.objectWillChange.send() }
|
||||||
.store(in: &cancellables)
|
.store(in: &cancellables)
|
||||||
|
|
||||||
identification.service.recentIdentitiesObservation()
|
identification.service.recentIdentitiesPublisher()
|
||||||
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||||
.assign(to: &$recentIdentities)
|
.assign(to: &$recentIdentities)
|
||||||
|
|
||||||
if identification.identity.authenticated {
|
if identification.identity.authenticated {
|
||||||
identification.service.listsObservation()
|
identification.service.listsPublisher()
|
||||||
.map { Timeline.authenticatedDefaults + $0 }
|
.map { Timeline.authenticatedDefaults + $0 }
|
||||||
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
.assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||||
.assign(to: &$timelinesAndLists)
|
.assign(to: &$timelinesAndLists)
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class RootViewModel: ObservableObject {
|
||||||
userNotificationService = UserNotificationService(environment: environment)
|
userNotificationService = UserNotificationService(environment: environment)
|
||||||
self.registerForRemoteNotifications = registerForRemoteNotifications
|
self.registerForRemoteNotifications = registerForRemoteNotifications
|
||||||
|
|
||||||
allIdentitiesService.immediateMostRecentlyUsedIdentityIdObservation()
|
allIdentitiesService.immediateMostRecentlyUsedIdentityIdPublisher()
|
||||||
.replaceError(with: nil)
|
.replaceError(with: nil)
|
||||||
.assign(to: &$mostRecentlyUsedIdentityId)
|
.assign(to: &$mostRecentlyUsedIdentityId)
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ private extension RootViewModel {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let observation = identityService.observation(immediate: immediate)
|
let identityPublisher = identityService.identityPublisher(immediate: immediate)
|
||||||
.catch { [weak self] _ -> Empty<Identity, Never> in
|
.catch { [weak self] _ -> Empty<Identity, Never> in
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self?.identitySelected(id: self?.mostRecentlyUsedIdentityId, immediate: false)
|
self?.identitySelected(id: self?.mostRecentlyUsedIdentityId, immediate: false)
|
||||||
|
@ -81,12 +81,12 @@ private extension RootViewModel {
|
||||||
}
|
}
|
||||||
.share()
|
.share()
|
||||||
|
|
||||||
observation
|
identityPublisher
|
||||||
.filter { [weak self] in $0.id != self?.navigationViewModel?.identification.identity.id }
|
.filter { [weak self] in $0.id != self?.navigationViewModel?.identification.identity.id }
|
||||||
.map { [weak self] in
|
.map { [weak self] in
|
||||||
let identification = Identification(
|
let identification = Identification(
|
||||||
identity: $0,
|
identity: $0,
|
||||||
observation: observation.eraseToAnyPublisher(),
|
publisher: identityPublisher.eraseToAnyPublisher(),
|
||||||
service: identityService)
|
service: identityService)
|
||||||
|
|
||||||
if let self = self {
|
if let self = self {
|
||||||
|
|
Loading…
Reference in a new issue