IceCubesApp/Packages/Status/Sources/Status/List/StatusesFetcher.swift
2022-12-19 12:28:55 +01:00

19 lines
416 B
Swift

import SwiftUI
import Models
public enum StatusesState {
public enum PagingState {
case hasNextPage, loadingNextPage
}
case loading
case display(statuses: [Status], nextPageState: StatusesState.PagingState)
case error(error: Error)
}
@MainActor
public protocol StatusesFetcher: ObservableObject {
var statusesState: StatusesState { get }
func fetchStatuses() async
func fetchNextPage() async
}