40 lines
1.5 KiB
Swift
40 lines
1.5 KiB
Swift
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
|
|
import Foundation
|
|
import React
|
|
|
|
class EXDevMenuDevSettings: NSObject {
|
|
static func getDevSettings() -> [String: Bool] {
|
|
var devSettings: [String: Bool] = [:]
|
|
|
|
devSettings["isElementInspectorShown"] = false
|
|
devSettings["isHotLoadingEnabled"] = false
|
|
devSettings["isPerfMonitorShown"] = false
|
|
|
|
devSettings["isElementInspectorAvailable"] = false
|
|
devSettings["isHotLoadingAvailable"] = false
|
|
devSettings["isPerfMonitorAvailable"] = false
|
|
devSettings["isJSInspectorAvailable"] = false
|
|
|
|
let manager = DevMenuManager.shared
|
|
|
|
if let bridge = manager.currentBridge,
|
|
let bridgeSettings = bridge.module(forName: "DevSettings") as? RCTDevSettings {
|
|
let perfMonitor = bridge.module(forName: "PerfMonitor")
|
|
let isPerfMonitorAvailable = perfMonitor != nil
|
|
|
|
devSettings["isElementInspectorShown"] = bridgeSettings.isElementInspectorShown
|
|
devSettings["isHotLoadingEnabled"] = bridgeSettings.isHotLoadingEnabled
|
|
devSettings["isPerfMonitorShown"] = bridgeSettings.isPerfMonitorShown
|
|
devSettings["isHotLoadingAvailable"] = bridgeSettings.isHotLoadingAvailable
|
|
devSettings["isPerfMonitorAvailable"] = isPerfMonitorAvailable
|
|
devSettings["isJSInspectorAvailable"] = bridgeSettings.isDeviceDebuggingAvailable
|
|
|
|
let isElementInspectorAvailable = manager.currentManifest?.isDevelopmentMode()
|
|
devSettings["isElementInspectorAvailable"] = isElementInspectorAvailable
|
|
}
|
|
|
|
return devSettings
|
|
}
|
|
}
|