Files
ccn/Services/Website/Sources/Library/Internal/Enumerations/Format.swift
T

34 lines
871 B
Swift
Raw Normal View History

/// A format listings are published in, declared in navigation order; the raw value is the search filter token.
enum Format: String, CaseIterable, Sendable {
/// Single-issue comics.
case singleIssues = "single-issues"
/// Manga volumes.
case manga
/// Trade paperbacks.
case tradePaperbacks = "trade-paperbacks"
/// Hardcovers.
case hardcovers
}
// MARK: - Extensions
extension Format {
// MARK: Computed
/// The format's name as shown in the navigation.
var label: String {
switch self {
case .singleIssues: "Single issues"
case .manga: "Manga"
case .tradePaperbacks: "Trade paperbacks"
case .hardcovers: "Hardcovers"
}
}
/// The path of the search screen filtered to the format.
var path: String {
"\(String.Route.search)?format=\(rawValue)"
}
}