1import { DeviceEventEmitter } from 'react-native'; 2import ExpoDevMenu from './ExpoDevMenu'; 3export function openMenu() { 4 ExpoDevMenu.openMenu(); 5} 6let hasRegisteredCallbackListener = false; 7function registerCallbackListener() { 8 if (!hasRegisteredCallbackListener) { 9 DeviceEventEmitter.addListener('registeredCallbackFired', (name) => { 10 hasRegisteredCallbackListener = true; 11 const handler = handlers.get(name); 12 if (handler != null) { 13 handler(); 14 } 15 }); 16 } 17} 18registerCallbackListener(); 19let handlers = new Map(); 20export async function registerDevMenuItems(items) { 21 if (!__DEV__) { 22 // resolve undefined 23 return; 24 } 25 handlers = new Map(); 26 const callbackNames = []; 27 items.forEach((item) => { 28 handlers.set(item.name, item.callback); 29 callbackNames.push(item.name); 30 }); 31 return await ExpoDevMenu.addDevMenuCallbacks(callbackNames); 32} 33//# sourceMappingURL=DevMenu.js.map