// // SmallIconProvider.swift // NetNewsWire // // Created by Brent Simmons on 12/16/17. // Copyright © 2017 Ranchero Software. All rights reserved. // import Foundation import Articles import Account protocol SmallIconProvider { @MainActor var smallIcon: IconImage? { get } } extension Account: SmallIconProvider { var smallIcon: IconImage? { if let image = AppAssets.image(for: type) { return IconImage(image) } return nil } } extension Feed: SmallIconProvider { @MainActor var smallIcon: IconImage? { if let iconImage = appDelegate.faviconDownloader.favicon(for: self) { return iconImage } return FaviconGenerator.favicon(self) } } extension Folder: SmallIconProvider { var smallIcon: IconImage? { AppAssets.folderImage } }