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