1 package expo.interfaces.devmenu 2 3 import expo.interfaces.devmenu.items.DevMenuDataSourceInterface 4 import expo.interfaces.devmenu.items.DevMenuItemsContainerInterface 5 import expo.interfaces.devmenu.items.DevMenuScreen 6 7 interface DevMenuExtensionSettingsInterface { wasRunOnDevelopmentBridgenull8 fun wasRunOnDevelopmentBridge(): Boolean 9 val manager: DevMenuManagerInterface 10 } 11 12 interface DevMenuExtensionInterface { 13 /** 14 * Returns a name of the module and the extension. Also required by [com.facebook.react.bridge.ReactContextBaseJavaModule]. 15 */ 16 fun getName(): String 17 18 /** 19 * Returns a `DevMenuItemsContainer` that contains the dev menu items to show on the main screen. 20 * It's called only once for the extension instance — results are being cached on first dev menu launch. 21 */ 22 fun devMenuItems(settings: DevMenuExtensionSettingsInterface): DevMenuItemsContainerInterface? 23 24 fun devMenuScreens(settings: DevMenuExtensionSettingsInterface): List<DevMenuScreen>? = null 25 26 fun devMenuDataSources(settings: DevMenuExtensionSettingsInterface): List<DevMenuDataSourceInterface>? = null 27 } 28