1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 @objc(DevMenuModule) 4 open class DevMenuModule: NSObject { 5 deinit { 6 // cleanup registered callbacks when the bridge is deallocated to prevent these leaking into other (potentially unrelated) bridges 7 if ExpoDevMenuReactDelegateHandler.enableAutoSetup == true { 8 DevMenuManager.shared.registeredCallbacks = [] 9 } 10 } 11 12 // MARK: JavaScript API 13 14 @objc 15 func openMenu() { 16 DevMenuManager.shared.openMenu() 17 } 18 19 @objc 20 func addDevMenuCallbacks(_ names: [String], resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) { 21 DevMenuManager.shared.registeredCallbacks = names 22 return resolve(nil) 23 } 24 } 25