mirror of
https://github.com/metabolist/metatext.git
synced 2024-11-25 09:41:00 +00:00
Delete dead code
This commit is contained in:
parent
6c96cad87a
commit
abc1a5cf19
1 changed files with 0 additions and 130 deletions
|
@ -1,130 +0,0 @@
|
|||
// Copyright © 2020 Metabolist. All rights reserved.
|
||||
|
||||
//import Combine
|
||||
//import Foundation
|
||||
//import Mastodon
|
||||
//import ServiceLayer
|
||||
//
|
||||
//public final class AccountListViewModel: ObservableObject {
|
||||
// @Published public private(set) var items = [[CollectionItemIdentifier]]()
|
||||
// @Published public var alertItem: AlertItem?
|
||||
// public let navigationEvents: AnyPublisher<NavigationEvent, Never>
|
||||
// public private(set) var nextPageMaxID: String?
|
||||
//
|
||||
// private let accountListService: AccountListService
|
||||
// private var accounts = [String: Account]()
|
||||
// private var accountViewModelCache = [Account: (AccountViewModel, AnyCancellable)]()
|
||||
// private let navigationEventsSubject = PassthroughSubject<NavigationEvent, Never>()
|
||||
// private let loadingSubject = PassthroughSubject<Bool, Never>()
|
||||
// private var cancellables = Set<AnyCancellable>()
|
||||
//
|
||||
// init(accountListService: AccountListService) {
|
||||
// self.accountListService = accountListService
|
||||
// navigationEvents = navigationEventsSubject.eraseToAnyPublisher()
|
||||
//
|
||||
// accountListService.accountSections
|
||||
// .handleEvents(receiveOutput: { [weak self] in
|
||||
// self?.cleanViewModelCache(newAccountSections: $0)
|
||||
// self?.accounts = Dictionary(uniqueKeysWithValues: Set($0.reduce([], +)).map { ($0.id, $0) })
|
||||
// })
|
||||
// .map { $0.map { $0.map(CollectionItemIdentifier.init(account:)) } }
|
||||
// .receive(on: DispatchQueue.main)
|
||||
// .assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||
// .assign(to: &$items)
|
||||
//
|
||||
// accountListService.nextPageMaxIDs
|
||||
// .sink { [weak self] in self?.nextPageMaxID = $0 }
|
||||
// .store(in: &cancellables)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//extension AccountListViewModel: CollectionViewModel {
|
||||
// public var collectionItems: AnyPublisher<[[CollectionItemIdentifier]], Never> { $items.eraseToAnyPublisher() }
|
||||
//
|
||||
// public var title: AnyPublisher<String?, Never> { Just(nil).eraseToAnyPublisher() }
|
||||
//
|
||||
// public var alertItems: AnyPublisher<AlertItem, Never> { $alertItem.compactMap { $0 }.eraseToAnyPublisher() }
|
||||
//
|
||||
// public var loading: AnyPublisher<Bool, Never> { loadingSubject.eraseToAnyPublisher() }
|
||||
//
|
||||
// public var maintainScrollPositionOfItem: CollectionItemIdentifier? {
|
||||
// nil
|
||||
// }
|
||||
//
|
||||
// public func request(maxID: String?, minID: String?) {
|
||||
// accountListService.request(maxID: maxID, minID: minID)
|
||||
// .receive(on: DispatchQueue.main)
|
||||
// .assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||
// .handleEvents(
|
||||
// receiveSubscription: { [weak self] _ in self?.loadingSubject.send(true) },
|
||||
// receiveCompletion: { [weak self] _ in self?.loadingSubject.send(false) })
|
||||
// .sink { _ in }
|
||||
// .store(in: &cancellables)
|
||||
// }
|
||||
//
|
||||
// public func itemSelected(_ item: CollectionItemIdentifier) {
|
||||
// switch item.kind {
|
||||
// case .account:
|
||||
// let navigationService = accountListService.navigationService
|
||||
// let profileService: ProfileService
|
||||
//
|
||||
// if let account = accounts[item.id] {
|
||||
// profileService = navigationService.profileService(account: account)
|
||||
// } else {
|
||||
// profileService = navigationService.profileService(id: item.id)
|
||||
// }
|
||||
//
|
||||
// navigationEventsSubject.send(.profileNavigation(ProfileViewModel(profileService: profileService)))
|
||||
// default:
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public func canSelect(item: CollectionItemIdentifier) -> Bool {
|
||||
// true
|
||||
// }
|
||||
//
|
||||
// public func viewModel(item: CollectionItemIdentifier) -> CollectionItemViewModel? {
|
||||
// switch item.kind {
|
||||
// case .account:
|
||||
// return accountViewModel(id: item.id)
|
||||
// default:
|
||||
// return nil
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//private extension AccountListViewModel {
|
||||
// func accountViewModel(id: String) -> AccountViewModel? {
|
||||
// guard let account = accounts[id] else { return nil }
|
||||
//
|
||||
// var accountViewModel: AccountViewModel
|
||||
//
|
||||
// if let cachedViewModel = accountViewModelCache[account]?.0 {
|
||||
// accountViewModel = cachedViewModel
|
||||
// } else {
|
||||
// accountViewModel = AccountViewModel(
|
||||
// accountService: accountListService.navigationService.accountService(account: account))
|
||||
// accountViewModelCache[account] = (accountViewModel,
|
||||
// accountViewModel.events
|
||||
// .flatMap { $0 }
|
||||
// .assignErrorsToAlertItem(to: \.alertItem, on: self)
|
||||
// .sink { [weak self] in
|
||||
// guard
|
||||
// let self = self,
|
||||
// let event = NavigationEvent($0)
|
||||
// else { return }
|
||||
//
|
||||
// self.navigationEventsSubject.send(event)
|
||||
// })
|
||||
// }
|
||||
//
|
||||
// return accountViewModel
|
||||
// }
|
||||
//
|
||||
// func cleanViewModelCache(newAccountSections: [[Account]]) {
|
||||
// let newAccounts = Set(newAccountSections.reduce([], +))
|
||||
//
|
||||
// accountViewModelCache = accountViewModelCache.filter { newAccounts.contains($0.key) }
|
||||
// }
|
||||
//}
|
Loading…
Reference in a new issue