39 lines
756 B
Swift
Raw Normal View History

2019-11-15 06:19:14 -06:00
//
// Feed.swift
// Account
//
// Created by Maurice Parker on 11/15/19.
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
//
import Foundation
import RSCore
public enum ReadFilterType {
2019-11-21 18:22:43 -06:00
case read
case none
case alwaysRead
2019-11-21 18:22:43 -06:00
}
2019-11-15 06:19:14 -06:00
public protocol Feed: FeedIdentifiable, ArticleFetcher, DisplayNameProvider, UnreadCountProvider {
var defaultReadFilterType: ReadFilterType { get }
2019-11-21 18:22:43 -06:00
2019-11-15 06:19:14 -06:00
}
public extension Feed {
func readFiltered(readFilterEnabledTable: [FeedIdentifier: Bool]) -> Bool {
guard defaultReadFilterType != .alwaysRead else {
return true
}
if let feedID = feedID, let readFilterEnabled = readFilterEnabledTable[feedID] {
return readFilterEnabled
} else {
return defaultReadFilterType == .read
}
}
}