IceCubesApp/Packages/Models/Sources/Models/Filter.swift

28 lines
648 B
Swift
Raw Normal View History

2023-01-03 11:24:15 +00:00
import Foundation
2023-01-22 15:55:03 +00:00
public struct Filtered: Codable, Equatable, Hashable {
2023-01-03 11:24:15 +00:00
public let filter: Filter
public let keywordMatches: [String]?
}
2023-01-22 15:55:03 +00:00
public struct Filter: Codable, Identifiable, Equatable, Hashable {
2023-01-03 11:24:15 +00:00
public enum Action: String, Codable {
case warn, hide
}
2023-01-17 10:36:01 +00:00
2023-01-03 11:24:15 +00:00
public enum Context: String, Codable {
case home, notifications, account, thread
case pub = "public"
}
2023-01-17 10:36:01 +00:00
2023-01-03 11:24:15 +00:00
public let id: String
public let title: String
public let context: [String]
public let filterAction: Action
}
extension Filtered: Sendable {}
extension Filter: Sendable {}
extension Filter.Action: Sendable {}
extension Filter.Context: Sendable {}