From dde2461bf82cfa656e6443aea713ce24040ead85 Mon Sep 17 00:00:00 2001 From: Agus Tiyansyah Syam Date: Fri, 17 Mar 2023 09:16:11 +0700 Subject: [PATCH] add filtered urls --- Sources/Storage.swift | 19 +++++++++++++++---- Sources/Wormholy.swift | 7 +++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Sources/Storage.swift b/Sources/Storage.swift index daa9909..61eb8eb 100644 --- a/Sources/Storage.swift +++ b/Sources/Storage.swift @@ -15,25 +15,36 @@ open class Storage: NSObject { public static var limit: NSNumber? = nil public static var defaultFilter: String? = nil - + + public static var filteredURLs: [String]? = nil + open var requests: [RequestModel] = [] - func saveRequest(request: RequestModel?){ + func saveRequest(request: RequestModel?) { guard request != nil else { return } if let index = requests.firstIndex(where: { (req) -> Bool in return request?.id == req.id ? true : false - }){ + }) { requests[index] = request! - }else{ + } else { requests.insert(request!, at: 0) } if let limit = Self.limit?.intValue { requests = Array(requests.prefix(limit)) } + + if let filteredURLs = Self.filteredURLs { + requests = requests.filter({ request in + filteredURLs.contains { url in + request.url.contains(url) + } + }) + } + NotificationCenter.default.post(name: newRequestNotification, object: nil) } diff --git a/Sources/Wormholy.swift b/Sources/Wormholy.swift index fa259e1..b8985b4 100644 --- a/Sources/Wormholy.swift +++ b/Sources/Wormholy.swift @@ -38,6 +38,13 @@ public class Wormholy: NSObject set { Storage.defaultFilter = newValue } } + /// Filtered urls that will be appear in the list + /// + @objc public static var filteredURLs: [String]? { + get { Storage.filteredURLs } + set { Storage.filteredURLs = newValue } + } + @objc public static func swiftyLoad() { NotificationCenter.default.addObserver(forName: fireWormholy, object: nil, queue: nil) { (notification) in Wormholy.presentWormholyFlow()