Code style changes

This commit is contained in:
Arkadiusz Fal 2023-04-22 15:08:33 +02:00
parent afa0049333
commit a9e9fa3a6d
31 changed files with 52 additions and 46 deletions

View File

@ -13,7 +13,7 @@ struct AccountsBridge: Defaults.Bridge {
return [ return [
"id": value.id, "id": value.id,
"instanceID": value.instanceID ?? "", "instanceID": value.instanceID ?? "",
"name": value.name ?? "", "name": value.name,
"apiURL": value.urlString, "apiURL": value.urlString,
"username": value.username, "username": value.username,
"password": value.password ?? "" "password": value.password ?? ""

View File

@ -24,7 +24,7 @@ final class AccountsModel: ObservableObject {
return nil return nil
} }
return AccountsModel.find(id) return Self.find(id)
} }
var any: Account? { var any: Account? {

View File

@ -13,7 +13,7 @@ final class InstancesModel: ObservableObject {
return nil return nil
} }
return InstancesModel.shared.find(id) return Self.shared.find(id)
} }
var lastUsed: Instance? { var lastUsed: Instance? {
@ -21,7 +21,7 @@ final class InstancesModel: ObservableObject {
return nil return nil
} }
return InstancesModel.shared.find(id) return Self.shared.find(id)
} }
func find(_ id: Instance.ID?) -> Instance? { func find(_ id: Instance.ID?) -> Instance? {

View File

@ -579,8 +579,6 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI {
let nextPage = json.dictionaryValue["continuation"]?.string let nextPage = json.dictionaryValue["continuation"]?.string
var contentItems = [ContentItem]() var contentItems = [ContentItem]()
var items = [ContentItem]()
if let key = Self.contentItemsKeys.first(where: { json.dictionaryValue.keys.contains($0) }), if let key = Self.contentItemsKeys.first(where: { json.dictionaryValue.keys.contains($0) }),
let items = json.dictionaryValue[key] let items = json.dictionaryValue[key]
{ {

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct BaseCacheModel { struct BaseCacheModel {
static var shared = BaseCacheModel() static var shared = Self()
static let jsonToDataTransformer: (JSON) -> Data = { try! $0.rawData() } static let jsonToDataTransformer: (JSON) -> Data = { try! $0.rawData() }
static let jsonFromDataTransformer: (Data) -> JSON = { try! JSON(data: $0) } static let jsonFromDataTransformer: (Data) -> JSON = { try! JSON(data: $0) }

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct BookmarksCacheModel { struct BookmarksCacheModel {
static var shared = BookmarksCacheModel() static var shared = Self()
let logger = Logger(label: "stream.yattee.cache") let logger = Logger(label: "stream.yattee.cache")
static let bookmarksGroup = "group.stream.yattee.app.bookmarks" static let bookmarksGroup = "group.stream.yattee.app.bookmarks"

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct ChannelPlaylistsCacheModel: CacheModel { struct ChannelPlaylistsCacheModel: CacheModel {
static let shared = ChannelPlaylistsCacheModel() static let shared = Self()
let logger = Logger(label: "stream.yattee.cache.channel-playlists") let logger = Logger(label: "stream.yattee.cache.channel-playlists")
static let diskConfig = DiskConfig(name: "channel-playlists") static let diskConfig = DiskConfig(name: "channel-playlists")

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct ChannelsCacheModel: CacheModel { struct ChannelsCacheModel: CacheModel {
static let shared = ChannelsCacheModel() static let shared = Self()
let logger = Logger(label: "stream.yattee.cache.channels") let logger = Logger(label: "stream.yattee.cache.channels")
static let diskConfig = DiskConfig(name: "channels") static let diskConfig = DiskConfig(name: "channels")

View File

@ -5,7 +5,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct FeedCacheModel: CacheModel { struct FeedCacheModel: CacheModel {
static let shared = FeedCacheModel() static let shared = Self()
let logger = Logger(label: "stream.yattee.cache.feed") let logger = Logger(label: "stream.yattee.cache.feed")
static let diskConfig = DiskConfig(name: "feed") static let diskConfig = DiskConfig(name: "feed")

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct PlaylistsCacheModel: CacheModel { struct PlaylistsCacheModel: CacheModel {
static let shared = PlaylistsCacheModel() static let shared = Self()
static let limit = 30 static let limit = 30
let logger = Logger(label: "stream.yattee.cache.playlists") let logger = Logger(label: "stream.yattee.cache.playlists")

View File

@ -4,7 +4,7 @@ import Logging
import SwiftyJSON import SwiftyJSON
struct VideosCacheModel: CacheModel { struct VideosCacheModel: CacheModel {
static let shared = VideosCacheModel() static let shared = Self()
let logger = Logger(label: "stream.yattee.cache.videos") let logger = Logger(label: "stream.yattee.cache.videos")
static let diskConfig = DiskConfig(name: "videos") static let diskConfig = DiskConfig(name: "videos")

View File

@ -91,7 +91,9 @@ struct Channel: Identifiable, Hashable {
var subscriptionsText: String? var subscriptionsText: String?
var totalViews: Int? var totalViews: Int?
var verified: Bool? // swiftlint:disable discouraged_optional_boolean // swiftlint:disable discouraged_optional_boolean
var verified: Bool?
// swiftlint:enable discouraged_optional_boolean
var videos = [Video]() var videos = [Video]()
var tabs = [Tab]() var tabs = [Tab]()

View File

@ -25,7 +25,7 @@ struct ChannelPlaylist: Identifiable {
} }
static func from(_ json: JSON) -> Self { static func from(_ json: JSON) -> Self {
ChannelPlaylist( Self(
id: json["id"].stringValue, id: json["id"].stringValue,
title: json["title"].stringValue, title: json["title"].stringValue,
thumbnailURL: json["thumbnailURL"].url, thumbnailURL: json["thumbnailURL"].url,

View File

@ -42,7 +42,9 @@ final class CommentsModel: ObservableObject {
firstPage = page.isNil || page!.isEmpty firstPage = page.isNil || page!.isEmpty
player.playerAPI(video)?.comments(video.videoID, page: page)? player
.playerAPI(video)?
.comments(video.videoID, page: page)?
.load() .load()
.onSuccess { [weak self] response in .onSuccess { [weak self] response in
if let page: CommentsPage = response.typedContent() { if let page: CommentsPage = response.typedContent() {

View File

@ -31,15 +31,15 @@ struct ContentItem: Identifiable {
var id: String = UUID().uuidString var id: String = UUID().uuidString
static func array(of videos: [Video]) -> [ContentItem] { static func array(of videos: [Video]) -> [ContentItem] {
videos.map { ContentItem(video: $0) } videos.map { Self(video: $0) }
} }
static func array(of playlists: [ChannelPlaylist]) -> [ContentItem] { static func array(of playlists: [ChannelPlaylist]) -> [ContentItem] {
playlists.map { ContentItem(playlist: $0) } playlists.map { Self(playlist: $0) }
} }
static func array(of channels: [Channel]) -> [ContentItem] { static func array(of channels: [Channel]) -> [ContentItem] {
channels.map { ContentItem(channel: $0) } channels.map { Self(channel: $0) }
} }
static func < (lhs: ContentItem, rhs: ContentItem) -> Bool { static func < (lhs: ContentItem, rhs: ContentItem) -> Bool {

View File

@ -234,6 +234,8 @@ extension Country {
} }
} }
// swiftlint:enable switch_case_on_newline
var flag: String { var flag: String {
let unicodeScalars = rawValue let unicodeScalars = rawValue
.unicodeScalars .unicodeScalars

View File

@ -2,7 +2,7 @@ import Defaults
import Foundation import Foundation
struct FavoritesModel { struct FavoritesModel {
static let shared = FavoritesModel() static let shared = Self()
@Default(.showFavoritesInHome) var showFavoritesInHome @Default(.showFavoritesInHome) var showFavoritesInHome
@Default(.favorites) var all @Default(.favorites) var all

View File

@ -2,7 +2,7 @@ import Foundation
import KeychainAccess import KeychainAccess
struct KeychainModel { struct KeychainModel {
static var shared = KeychainModel() static var shared = Self()
var keychain = Keychain(service: "stream.yattee.app") var keychain = Keychain(service: "stream.yattee.app")

View File

@ -46,7 +46,7 @@ final class NavigationModel: ObservableObject {
case .search: case .search:
return "search" return "search"
#if os(tvOS) #if os(tvOS)
case .settings: // swiftlint:disable:this switch_case_alignment case .settings:
return "settings" return "settings"
#endif #endif
default: default:

View File

@ -37,7 +37,7 @@ struct OpenVideosModel {
} }
} }
static let shared = OpenVideosModel() static let shared = Self()
var player: PlayerModel! = .shared var player: PlayerModel! = .shared
var logger = Logger(label: "stream.yattee.open-videos") var logger = Logger(label: "stream.yattee.open-videos")

View File

@ -1,10 +1,10 @@
import CoreData import CoreData
struct PersistenceController { struct PersistenceController {
static let shared = PersistenceController() static let shared = Self()
static var preview: PersistenceController = { static var preview: PersistenceController = {
let result = PersistenceController(inMemory: true) let result = Self(inMemory: true)
let viewContext = result.container.viewContext let viewContext = result.container.viewContext
do { do {

View File

@ -2,7 +2,7 @@ import Foundation
import IOKit.pwr_mgt import IOKit.pwr_mgt
struct ScreenSaverManager { struct ScreenSaverManager {
static var shared = ScreenSaverManager() static var shared = Self()
var noSleepAssertion: IOPMAssertionID = 0 var noSleepAssertion: IOPMAssertionID = 0
var noSleepReturn: IOReturn? var noSleepReturn: IOReturn?

View File

@ -6,7 +6,7 @@ import Foundation
#endif #endif
struct QualityProfilesModel { struct QualityProfilesModel {
static let shared = QualityProfilesModel() static let shared = Self()
#if os(tvOS) #if os(tvOS)
var tvOSProfile: QualityProfile? { var tvOSProfile: QualityProfile? {

View File

@ -3,7 +3,7 @@ import Logging
struct URLBookmarkModel { struct URLBookmarkModel {
static let bookmarkPrefix = "urlbookmark-" static let bookmarkPrefix = "urlbookmark-"
static var shared = URLBookmarkModel() static var shared = Self()
var logger = Logger(label: "stream.yattee.url-bookmark") var logger = Logger(label: "stream.yattee.url-bookmark")

View File

@ -32,4 +32,5 @@ final class UnwatchedFeedCountModel: ObservableObject {
} }
return nil return nil
} }
// swiftlint:enable empty_count
} }

View File

@ -117,7 +117,7 @@ struct Video: Identifiable, Equatable, Hashable {
} }
static func local(_ url: URL) -> Video { static func local(_ url: URL) -> Video {
Video( Self(
app: .local, app: .local,
videoID: url.absoluteString, videoID: url.absoluteString,
streams: [.init(localURL: url)] streams: [.init(localURL: url)]
@ -167,7 +167,7 @@ struct Video: Identifiable, Equatable, Hashable {
static func from(_ json: JSON) -> Self { static func from(_ json: JSON) -> Self {
let dateFormatter = ISO8601DateFormatter() let dateFormatter = ISO8601DateFormatter()
return Video( return Self(
instanceID: json["instanceID"].stringValue, instanceID: json["instanceID"].stringValue,
app: .init(rawValue: json["app"].stringValue) ?? AccountsModel.shared.current.app ?? .local, app: .init(rawValue: json["app"].stringValue) ?? AccountsModel.shared.current.app ?? .local,
instanceURL: URL(string: json["instanceURL"].stringValue) ?? AccountsModel.shared.current.instance.apiURL, instanceURL: URL(string: json["instanceURL"].stringValue) ?? AccountsModel.shared.current.instance.apiURL,

View File

@ -327,7 +327,7 @@ struct ChannelVideosView: View {
private var contentTypePicker: some View { private var contentTypePicker: some View {
Picker("Content type", selection: $contentType) { Picker("Content type", selection: $contentType) {
if let channel = presentedChannel { if presentedChannel != nil {
ForEach(Channel.ContentType.allCases, id: \.self) { type in ForEach(Channel.ContentType.allCases, id: \.self) { type in
if typeAvailable(type) { if typeAvailable(type) {
Label(type.description, systemImage: type.systemImage).tag(type) Label(type.description, systemImage: type.systemImage).tag(type)
@ -432,18 +432,20 @@ struct ChannelVideosView: View {
} }
func load() { func load() {
resource?.load().onSuccess { response in resource?
if let page: ChannelPage = response.typedContent() { .load()
if let channel = page.channel { .onSuccess { response in
ChannelsCacheModel.shared.store(channel) if let page: ChannelPage = response.typedContent() {
if let channel = page.channel {
ChannelsCacheModel.shared.store(channel)
}
self.page = page
self.contentTypeItems.replace(page.results)
} }
self.page = page
self.contentTypeItems.replace(page.results)
} }
} .onFailure { error in
.onFailure { error in navigation.presentAlert(title: "Could not load channel data", message: error.userMessage)
navigation.presentAlert(title: "Could not load channel data", message: error.userMessage) }
}
} }
func loadNextPage() { func loadNextPage() {

View File

@ -16,7 +16,7 @@ struct DocumentsView: View {
Group { Group {
if model.isDirectory(standardizedURL) { if model.isDirectory(standardizedURL) {
NavigationLink(destination: DocumentsView(directoryURL: url)) { NavigationLink(destination: Self(directoryURL: url)) {
VideoBanner(video: video) VideoBanner(video: video)
} }
} else { } else {

View File

@ -4,7 +4,7 @@ import Siesta
struct OpenURLHandler { struct OpenURLHandler {
static var firstHandle = true static var firstHandle = true
static var shared = OpenURLHandler() static var shared = Self()
static let yatteeProtocol = "yattee://" static let yatteeProtocol = "yattee://"
var accounts: AccountsModel { .shared } var accounts: AccountsModel { .shared }

View File

@ -5,8 +5,7 @@ import SwiftUI
#if os(iOS) #if os(iOS)
struct AppleAVPlayerView: UIViewRepresentable { struct AppleAVPlayerView: UIViewRepresentable {
func makeUIView(context _: Context) -> some UIView { func makeUIView(context _: Context) -> some UIView {
let playerLayerView = PlayerLayerView(frame: .zero) PlayerLayerView(frame: .zero)
return playerLayerView
} }
func updateUIView(_: UIViewType, context _: Context) {} func updateUIView(_: UIViewType, context _: Context) {}

View File

@ -204,7 +204,7 @@ struct CommentView: View {
Group { Group {
let last = comments.replies.last let last = comments.replies.last
ForEach(comments.replies) { comment in ForEach(comments.replies) { comment in
CommentView(comment: comment, repliesID: $repliesID) Self(comment: comment, repliesID: $repliesID)
#if os(tvOS) #if os(tvOS)
.focusable() .focusable()
#endif #endif