27 lines
733 B
Swift
27 lines
733 B
Swift
//
|
|
// ComposeMastodonContext.swift
|
|
// ComposeUI
|
|
//
|
|
// Created by Shadowfacts on 3/5/23.
|
|
//
|
|
|
|
import Foundation
|
|
import Pachyderm
|
|
import InstanceFeatures
|
|
import UserAccounts
|
|
|
|
public protocol ComposeMastodonContext {
|
|
var accountInfo: UserAccountInfo? { get }
|
|
var instanceFeatures: InstanceFeatures { get }
|
|
|
|
func run<Result: Sendable>(_ request: Request<Result>) async throws -> (Result, Pagination?)
|
|
func getCustomEmojis(completion: @escaping ([Emoji]) -> Void)
|
|
|
|
@MainActor
|
|
func searchCachedAccounts(query: String) -> [AccountProtocol]
|
|
@MainActor
|
|
func cachedRelationship(for accountID: String) -> RelationshipProtocol?
|
|
@MainActor
|
|
func searchCachedHashtags(query: String) -> [Hashtag]
|
|
}
|