diff --git a/Commands/DeleteFromSidebarCommand.swift b/Commands/DeleteFromSidebarCommand.swift index 583dc5edc..7047c8578 100644 --- a/Commands/DeleteFromSidebarCommand.swift +++ b/Commands/DeleteFromSidebarCommand.swift @@ -36,7 +36,7 @@ final class DeleteFromSidebarCommand: UndoableCommand { self.undoActionName = actionName self.undoManager = undoManager - let itemSpecifiers = nodesToDelete.flatMap{ SidebarItemSpecifier(node: $0) } + let itemSpecifiers = nodesToDelete.compactMap{ SidebarItemSpecifier(node: $0) } guard !itemSpecifiers.isEmpty else { return nil } diff --git a/Evergreen/MainWindow/Keyboard/MainWIndowKeyboardHandler.swift b/Evergreen/MainWindow/Keyboard/MainWIndowKeyboardHandler.swift index b8ac2678f..e2a9ba3d1 100644 --- a/Evergreen/MainWindow/Keyboard/MainWIndowKeyboardHandler.swift +++ b/Evergreen/MainWindow/Keyboard/MainWIndowKeyboardHandler.swift @@ -19,7 +19,7 @@ final class MainWindowKeyboardHandler: KeyboardDelegate { let f = Bundle.main.path(forResource: "GlobalKeyboardShortcuts", ofType: "plist")! let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]] - self.globalShortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) }) + self.globalShortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) }) } func keydown(_ event: NSEvent, in view: NSView) -> Bool { diff --git a/Evergreen/MainWindow/MainWindowController.swift b/Evergreen/MainWindow/MainWindowController.swift index cf0898bec..26dfecda9 100644 --- a/Evergreen/MainWindow/MainWindowController.swift +++ b/Evergreen/MainWindow/MainWindowController.swift @@ -332,7 +332,7 @@ extension MainWindowController: NSSharingServicePickerDelegate { func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker, sharingServicesForItems items: [Any], proposedSharingServices proposedServices: [NSSharingService]) -> [NSSharingService] { - let sendToServices = appDelegate.sendToCommands.flatMap { (sendToCommand) -> NSSharingService? in + let sendToServices = appDelegate.sendToCommands.compactMap { (sendToCommand) -> NSSharingService? in guard let object = items.first else { return nil diff --git a/Evergreen/MainWindow/Sidebar/Keyboard/SidebarKeyboardDelegate.swift b/Evergreen/MainWindow/Sidebar/Keyboard/SidebarKeyboardDelegate.swift index e048db67a..0e993314a 100644 --- a/Evergreen/MainWindow/Sidebar/Keyboard/SidebarKeyboardDelegate.swift +++ b/Evergreen/MainWindow/Sidebar/Keyboard/SidebarKeyboardDelegate.swift @@ -19,7 +19,7 @@ import RSCore let f = Bundle.main.path(forResource: "SidebarKeyboardShortcuts", ofType: "plist")! let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]] - self.shortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) }) + self.shortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) }) super.init() } diff --git a/Evergreen/MainWindow/Timeline/ArticleArray.swift b/Evergreen/MainWindow/Timeline/ArticleArray.swift index 531ea2247..2c30fa99d 100644 --- a/Evergreen/MainWindow/Timeline/ArticleArray.swift +++ b/Evergreen/MainWindow/Timeline/ArticleArray.swift @@ -45,7 +45,7 @@ extension Array where Element == Article { func articlesForIndexes(_ indexes: IndexSet) -> Set
{ - return Set(indexes.flatMap{ (oneIndex) -> Article? in + return Set(indexes.compactMap{ (oneIndex) -> Article? in return articleAtRow(oneIndex) }) } diff --git a/Evergreen/MainWindow/Timeline/Keyboard/TimelineKeyboardDelegate.swift b/Evergreen/MainWindow/Timeline/Keyboard/TimelineKeyboardDelegate.swift index 39ca4b3b3..d15d0be50 100644 --- a/Evergreen/MainWindow/Timeline/Keyboard/TimelineKeyboardDelegate.swift +++ b/Evergreen/MainWindow/Timeline/Keyboard/TimelineKeyboardDelegate.swift @@ -21,7 +21,7 @@ import RSCore let f = Bundle.main.path(forResource: "TimelineKeyboardShortcuts", ofType: "plist")! let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]] - self.shortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) }) + self.shortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) }) super.init() } diff --git a/Evergreen/Scriptability/Account+Scriptability.swift b/Evergreen/Scriptability/Account+Scriptability.swift index 47723de6c..bd2c7cbf0 100644 --- a/Evergreen/Scriptability/Account+Scriptability.swift +++ b/Evergreen/Scriptability/Account+Scriptability.swift @@ -50,13 +50,13 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta @objc(feeds) var feeds:NSArray { - let feeds = account.children.flatMap { $0 as? Feed } + let feeds = account.children.compactMap { $0 as? Feed } return feeds.map { ScriptableFeed($0, container:self) } as NSArray } @objc(folders) var folders:NSArray { - let folders = account.children.flatMap { $0 as? Folder } + let folders = account.children.compactMap { $0 as? Folder } return folders.map { ScriptableFolder($0, container:self) } as NSArray } diff --git a/Evergreen/Scriptability/NSApplication+Scriptability.swift b/Evergreen/Scriptability/NSApplication+Scriptability.swift index 9ecc48ee0..1fc26d668 100644 --- a/Evergreen/Scriptability/NSApplication+Scriptability.swift +++ b/Evergreen/Scriptability/NSApplication+Scriptability.swift @@ -36,7 +36,7 @@ extension NSApplication : ScriptingObjectContainer { let accounts = AccountManager.shared.accounts let emptyFeeds:[Feed] = [] let feeds = accounts.reduce(emptyFeeds) { (result, nthAccount) -> [Feed] in - let accountFeeds = nthAccount.children.flatMap { $0 as? Feed } + let accountFeeds = nthAccount.children.compactMap { $0 as? Feed } return result + accountFeeds } return feeds.map { ScriptableFeed($0, container:self) } as NSArray diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index b5abd4bf1..4f723d5aa 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -462,7 +462,7 @@ extension Account { func objects(with diskObjects: [[String: Any]]) -> [AnyObject] { - return diskObjects.flatMap { object(with: $0) } + return diskObjects.compactMap { object(with: $0) } } } @@ -508,7 +508,7 @@ private extension Account { func diskDictionary() -> NSDictionary { - let diskObjects = children.flatMap { (object) -> [String: Any]? in + let diskObjects = children.compactMap { (object) -> [String: Any]? in if let folder = object as? Folder { return folder.dictionary @@ -650,7 +650,7 @@ private extension Account { func noteStatusesForArticlesDidChange(_ articles: Set
) { - let feeds = Set(articles.flatMap { $0.feed }) + let feeds = Set(articles.compactMap { $0.feed }) let statuses = Set(articles.map { $0.status }) // .UnreadCountDidChange notification will get sent to Folder and Account objects, diff --git a/Frameworks/Account/Feedbin/FeedbinArticle.swift b/Frameworks/Account/Feedbin/FeedbinArticle.swift index cbd2c64bf..0305b59f1 100644 --- a/Frameworks/Account/Feedbin/FeedbinArticle.swift +++ b/Frameworks/Account/Feedbin/FeedbinArticle.swift @@ -90,7 +90,7 @@ struct FeedbinArticle { static func articles(with array: JSONArray) -> [FeedbinArticle]? { - let articlesArray = array.flatMap { FeedbinArticle(jsonDictionary: $0) } + let articlesArray = array.compactMap { FeedbinArticle(jsonDictionary: $0) } return articlesArray.isEmpty ? nil : articlesArray } } diff --git a/Frameworks/Account/Feedbin/FeedbinSubscription.swift b/Frameworks/Account/Feedbin/FeedbinSubscription.swift index c4678bcc8..0c76374b0 100644 --- a/Frameworks/Account/Feedbin/FeedbinSubscription.swift +++ b/Frameworks/Account/Feedbin/FeedbinSubscription.swift @@ -64,7 +64,7 @@ struct FeedbinSubscription { static func subscriptions(with array: JSONArray) -> [FeedbinSubscription]? { - let subs = array.flatMap { FeedbinSubscription(dictionary: $0) } + let subs = array.compactMap { FeedbinSubscription(dictionary: $0) } return subs.isEmpty ? nil : subs } } diff --git a/Frameworks/Account/Folder.swift b/Frameworks/Account/Folder.swift index f454eb2e9..442ada83f 100644 --- a/Frameworks/Account/Folder.swift +++ b/Frameworks/Account/Folder.swift @@ -107,7 +107,7 @@ public final class Folder: DisplayNameProvider, Container, UnreadCountProvider, d[Key.unreadCount] = unreadCount } - let childObjects = children.flatMap { (child) -> [String: Any]? in + let childObjects = children.compactMap { (child) -> [String: Any]? in if let feed = child as? Feed { return feed.dictionary diff --git a/Frameworks/Data/Author.swift b/Frameworks/Data/Author.swift index d75ddb1a7..df25a8741 100644 --- a/Frameworks/Data/Author.swift +++ b/Frameworks/Data/Author.swift @@ -84,7 +84,7 @@ public struct Author: Hashable { static func authorsWithDiskArray(_ diskArray: [[String: Any]]) -> Set? { - let authors = diskArray.flatMap { Author(dictionary: $0) } + let authors = diskArray.compactMap { Author(dictionary: $0) } return authors.isEmpty ? nil : Set(authors) } } diff --git a/Frameworks/Database/Extensions/Article+Database.swift b/Frameworks/Database/Extensions/Article+Database.swift index 082014821..bd61718f1 100644 --- a/Frameworks/Database/Extensions/Article+Database.swift +++ b/Frameworks/Database/Extensions/Article+Database.swift @@ -159,7 +159,7 @@ extension Set where Element == Article { func databaseDictionaries() -> [NSDictionary]? { - return self.flatMap { $0.databaseDictionary() } + return self.compactMap { $0.databaseDictionary() } } } diff --git a/Frameworks/Database/Extensions/Attachment+Database.swift b/Frameworks/Database/Extensions/Attachment+Database.swift index b84f0aae8..134cc14a3 100644 --- a/Frameworks/Database/Extensions/Attachment+Database.swift +++ b/Frameworks/Database/Extensions/Attachment+Database.swift @@ -39,7 +39,7 @@ extension Attachment { return nil } - let attachments = parsedAttachments.flatMap{ Attachment(parsedAttachment: $0) } + let attachments = parsedAttachments.compactMap{ Attachment(parsedAttachment: $0) } return attachments.isEmpty ? nil : Set(attachments) } @@ -91,11 +91,11 @@ extension Set where Element == Attachment { func databaseDictionaries() -> [NSDictionary] { - return self.flatMap { $0.databaseDictionary() } + return self.compactMap { $0.databaseDictionary() } } func databaseObjects() -> [DatabaseObject] { - return self.flatMap { $0 as DatabaseObject } + return self.compactMap { $0 as DatabaseObject } } } diff --git a/Frameworks/Database/Extensions/Author+Database.swift b/Frameworks/Database/Extensions/Author+Database.swift index 984aa9d6d..f28b4be4c 100644 --- a/Frameworks/Database/Extensions/Author+Database.swift +++ b/Frameworks/Database/Extensions/Author+Database.swift @@ -37,7 +37,7 @@ extension Author { return nil } - let authors = Set(parsedAuthors.flatMap { Author(parsedAuthor: $0) }) + let authors = Set(parsedAuthors.compactMap { Author(parsedAuthor: $0) }) return authors.isEmpty ? nil: authors } } diff --git a/Frameworks/RSCore/RSCore/NSOutlineView+Extensions.swift b/Frameworks/RSCore/RSCore/NSOutlineView+Extensions.swift index 94d0c1ef1..3150606fc 100755 --- a/Frameworks/RSCore/RSCore/NSOutlineView+Extensions.swift +++ b/Frameworks/RSCore/RSCore/NSOutlineView+Extensions.swift @@ -17,7 +17,7 @@ public extension NSOutlineView { return [AnyObject]() } - return selectedRowIndexes.flatMap { (oneIndex) -> AnyObject? in + return selectedRowIndexes.compactMap { (oneIndex) -> AnyObject? in return item(atRow: oneIndex) as AnyObject } } diff --git a/Frameworks/RSDatabase/DatabaseTable.swift b/Frameworks/RSDatabase/DatabaseTable.swift index d7ea0df15..723bb7135 100644 --- a/Frameworks/RSDatabase/DatabaseTable.swift +++ b/Frameworks/RSDatabase/DatabaseTable.swift @@ -95,7 +95,7 @@ public extension DatabaseTable { public extension FMResultSet { - public func flatMap(_ callback: (_ row: FMResultSet) -> T?) -> [T] { + public func compactMap(_ callback: (_ row: FMResultSet) -> T?) -> [T] { var objects = [T]() while next() { @@ -109,7 +109,7 @@ public extension FMResultSet { public func mapToSet(_ callback: (_ row: FMResultSet) -> T?) -> Set { - return Set(flatMap(callback)) + return Set(compactMap(callback)) } } diff --git a/Frameworks/RSDatabase/RSDatabase/DatabaseObject.swift b/Frameworks/RSDatabase/RSDatabase/DatabaseObject.swift index 0686c128a..2f6718776 100644 --- a/Frameworks/RSDatabase/RSDatabase/DatabaseObject.swift +++ b/Frameworks/RSDatabase/RSDatabase/DatabaseObject.swift @@ -53,7 +53,7 @@ extension Array where Element == DatabaseObject { func databaseDictionaries() -> [NSDictionary]? { - let dictionaries = self.flatMap{ $0.databaseDictionary() } + let dictionaries = self.compactMap{ $0.databaseDictionary() } return dictionaries.isEmpty ? nil : dictionaries } } diff --git a/Frameworks/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift b/Frameworks/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift index b53dee538..a2c897508 100644 --- a/Frameworks/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift +++ b/Frameworks/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift @@ -60,7 +60,7 @@ public extension DatabaseRelatedObjectsTable { func objectsWithResultSet(_ resultSet: FMResultSet) -> [DatabaseObject] { - return resultSet.flatMap(objectWithRow) + return resultSet.compactMap(objectWithRow) } func save(_ objects: [DatabaseObject], in database: FMDatabase) { diff --git a/Frameworks/RSDatabase/Related Objects/RelatedObjectsMap.swift b/Frameworks/RSDatabase/Related Objects/RelatedObjectsMap.swift index 3bf76a925..bc75e4926 100644 --- a/Frameworks/RSDatabase/Related Objects/RelatedObjectsMap.swift +++ b/Frameworks/RSDatabase/Related Objects/RelatedObjectsMap.swift @@ -23,7 +23,7 @@ public struct RelatedObjectsMap { for objectID in relatedObjectIDsMap.objectIDs() { if let relatedObjectIDs = relatedObjectIDsMap[objectID] { - let relatedObjects = relatedObjectIDs.flatMap{ relatedObjectsDictionary[$0] } + let relatedObjects = relatedObjectIDs.compactMap{ relatedObjectsDictionary[$0] } if !relatedObjects.isEmpty { d[objectID] = relatedObjects } diff --git a/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift b/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift index 7bfeb39a4..b1546b0e8 100644 --- a/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift +++ b/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift @@ -103,7 +103,7 @@ private extension JSONFeedParser { return nil } - let hubs = hubsArray.flatMap { (hubDictionary) -> ParsedHub? in + let hubs = hubsArray.compactMap { (hubDictionary) -> ParsedHub? in guard let hubURL = hubDictionary[Key.url] as? String, let hubType = hubDictionary[Key.type] as? String else { return nil } @@ -114,7 +114,7 @@ private extension JSONFeedParser { static func parseItems(_ itemsArray: JSONArray, _ feedURL: String) -> Set { - return Set(itemsArray.flatMap { (oneItemDictionary) -> ParsedItem? in + return Set(itemsArray.compactMap { (oneItemDictionary) -> ParsedItem? in return parseItem(oneItemDictionary, feedURL) }) } @@ -180,7 +180,7 @@ private extension JSONFeedParser { guard let attachmentsArray = itemDictionary[Key.attachments] as? JSONArray else { return nil } - return Set(attachmentsArray.flatMap { parseAttachment($0) }) + return Set(attachmentsArray.compactMap { parseAttachment($0) }) } static func parseAttachment(_ attachmentObject: JSONDictionary) -> ParsedAttachment? { diff --git a/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift b/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift index 8debc2a66..2bf595d47 100644 --- a/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift +++ b/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift @@ -60,7 +60,7 @@ private extension RSSInJSONParser { static func parseItems(_ itemsObject: JSONArray, _ feedURL: String) -> Set { - return Set(itemsObject.flatMap{ (oneItemDictionary) -> ParsedItem? in + return Set(itemsObject.compactMap{ (oneItemDictionary) -> ParsedItem? in return parsedItemWithDictionary(oneItemDictionary, feedURL) }) @@ -150,7 +150,7 @@ private extension RSSInJSONParser { return nil } else if let categoryArray = itemDictionary["category"] as? JSONArray { - return Set(categoryArray.flatMap{ $0["#value"] as? String }) + return Set(categoryArray.compactMap{ $0["#value"] as? String }) } return nil } diff --git a/Frameworks/RSParser/Feeds/XML/RSParsedFeedTransformer.swift b/Frameworks/RSParser/Feeds/XML/RSParsedFeedTransformer.swift index 05c9c0eee..2a4cbc458 100644 --- a/Frameworks/RSParser/Feeds/XML/RSParsedFeedTransformer.swift +++ b/Frameworks/RSParser/Feeds/XML/RSParsedFeedTransformer.swift @@ -52,7 +52,7 @@ private extension RSParsedFeedTransformer { return nil } - let transformedAuthors = authors.flatMap { (author) -> ParsedAuthor? in + let transformedAuthors = authors.compactMap { (author) -> ParsedAuthor? in return ParsedAuthor(name: author.name, url: author.url, avatarURL: nil, emailAddress: author.emailAddress) } @@ -65,7 +65,7 @@ private extension RSParsedFeedTransformer { return nil } - let attachments = enclosures.flatMap { (enclosure) -> ParsedAttachment? in + let attachments = enclosures.compactMap { (enclosure) -> ParsedAttachment? in let sizeInBytes = enclosure.length > 0 ? enclosure.length : nil return ParsedAttachment(url: enclosure.url, mimeType: enclosure.mimeType, title: nil, sizeInBytes: sizeInBytes, durationInSeconds: nil) diff --git a/Importers/DefaultFeedsImporter.swift b/Importers/DefaultFeedsImporter.swift index 3af6bdaed..2d57a93ce 100644 --- a/Importers/DefaultFeedsImporter.swift +++ b/Importers/DefaultFeedsImporter.swift @@ -56,7 +56,7 @@ struct FeedsImporter { private static func feeds(with feedDictionaries: [DiskFeedDictionary], accountID: String) -> Set { - let feedArray = feedDictionaries.flatMap { Feed(accountID: accountID, dictionary: $0) } + let feedArray = feedDictionaries.compactMap { Feed(accountID: accountID, dictionary: $0) } return Set(feedArray) } } diff --git a/test.html b/test.html new file mode 100644 index 000000000..d7df51ef0 --- /dev/null +++ b/test.html @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + +
Print page 1 of 1
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Click on the Column Headings to sort accordingly.
+ Click on the Parcel ID to view the parcel detail.
  +
+
Parcel IDLocationOwnerBuilt
+ Type +
Total Value + Beds
+ Baths
Lot size
+ Fin area
LUC
+ Description
NHoodSale date
+ Sale price
Book Page
006.0-0005-0003.030  + FREEMAN STPITCHEL STUART +
GOODMAN JULIA
1914
+ Old Style +  
$615,4005
+ 3
5,502 +
2,472
101
+ One Family
18/19/1998
+ $299,000
28988-522
+ + + + + + + + +
Print page 1 of 1
+ + + + + + + + +