metatext-app-ios-iphone-ipad/ServiceLayer/Sources/ServiceLayer/Services/CollectionService.swift

25 lines
933 B
Swift
Raw Normal View History

2020-10-05 08:36:22 +02:00
// Copyright © 2020 Metabolist. All rights reserved.
import Combine
2020-10-07 23:06:26 +02:00
import Mastodon
2020-10-05 08:36:22 +02:00
public protocol CollectionService {
var sections: AnyPublisher<[[CollectionItem]], Error> { get }
2020-10-06 00:50:05 +02:00
var nextPageMaxId: AnyPublisher<String, Never> { get }
2020-10-05 22:21:06 +02:00
var title: AnyPublisher<String, Never> { get }
2020-12-03 02:41:22 +01:00
var titleLocalizationComponents: AnyPublisher<[String], Never> { get }
2020-10-05 08:36:22 +02:00
var navigationService: NavigationService { get }
2020-10-27 04:01:12 +01:00
var markerTimeline: Marker.Timeline? { get }
2020-10-06 00:50:05 +02:00
func request(maxId: String?, minId: String?) -> AnyPublisher<Never, Error>
2020-10-05 08:36:22 +02:00
}
extension CollectionService {
2020-10-06 00:50:05 +02:00
public var nextPageMaxId: AnyPublisher<String, Never> { Empty().eraseToAnyPublisher() }
2020-10-05 22:21:06 +02:00
public var title: AnyPublisher<String, Never> { Empty().eraseToAnyPublisher() }
2020-10-27 04:01:12 +01:00
2020-12-03 02:41:22 +01:00
public var titleLocalizationComponents: AnyPublisher<[String], Never> { Empty().eraseToAnyPublisher() }
2020-10-27 04:01:12 +01:00
public var markerTimeline: Marker.Timeline? { nil }
2020-10-05 08:36:22 +02:00
}