1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 import Foundation 4 5 @objc 6 public class EXDevLauncherPendingDeepLinkRegistry: NSObject { 7 private var listeners: [EXDevLauncherPendingDeepLinkListener] = [] 8 9 @objc 10 public var pendingDeepLink: URL? { 11 didSet { 12 if pendingDeepLink != nil { 13 listeners.forEach { $0.onNewPendingDeepLink(pendingDeepLink!) } 14 } 15 } 16 } 17 subscribenull18 public func subscribe(_ listener: EXDevLauncherPendingDeepLinkListener) { 19 self.listeners.append(listener) 20 } 21 unsubscribenull22 public func unsubscribe(_ listener: EXDevLauncherPendingDeepLinkListener) { 23 self.listeners.removeAll { $0 === listener } 24 } 25 26 @objc consumePendingDeepLinknull27 public func consumePendingDeepLink() -> URL? { 28 let result = pendingDeepLink 29 pendingDeepLink = nil 30 return result 31 } 32 } 33