// // UserActivityType.swift // Tusker // // Created by Shadowfacts on 10/19/18. // Copyright © 2018 Shadowfacts. All rights reserved. // import Foundation enum UserActivityType: String { case newPost = "net.shadowfacts.Tusker.activity.new-post" case checkNotifications = "net.shadowfacts.Tusker.activity.check-notifications" case checkMentions = "net.shadowfacts.Tusker.activity.check-mentions" case showTimeline = "net.shadowfacts.Tusker.activity.show-timeline" case search = "net.shadowfacts.Tusker.activity.search" case bookmarks = "net.shadowfacts.Tusker.activity.bookmarks" } extension UserActivityType { var handle: (NSUserActivity) -> Void { switch self { case .newPost: return UserActivityManager.handleNewPost case .checkNotifications: return UserActivityManager.handleCheckNotifications case .checkMentions: return UserActivityManager.handleCheckMentions case .showTimeline: return UserActivityManager.handleShowTimeline case .search: return UserActivityManager.handleSearch case .bookmarks: return UserActivityManager.handleBookmarks } } }