{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport { getRecoveryPropsToSave } from \"./ErroRecoveryStore\";\nimport ExpoErrorRecovery from \"./ExpoErrorRecovery\";\n\nif (Platform.OS !== 'web') {\n  var globalHandler = ErrorUtils.getGlobalHandler();\n  ErrorUtils.setGlobalHandler(function _callee(error, isFatal) {\n    return _regeneratorRuntime.async(function _callee$(_context) {\n      while (1) {\n        switch (_context.prev = _context.next) {\n          case 0:\n            if (!ExpoErrorRecovery.saveRecoveryProps) {\n              _context.next = 3;\n              break;\n            }\n\n            _context.next = 3;\n            return _regeneratorRuntime.awrap(ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave()));\n\n          case 3:\n            globalHandler(error, isFatal);\n\n          case 4:\n          case \"end\":\n            return _context.stop();\n        }\n      }\n    }, null, null, null, Promise);\n  });\n} else if (Platform.OS === 'web' && canUseDOM) {\n  window.addEventListener('error', function () {\n    ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n  });\n}","map":{"version":3,"sources":["../src/ErrorRecovery.fx.ts"],"names":[],"mappings":";AAAA,SAAS,SAAT,QAA0B,+BAA1B;;AAGA,SAAS,sBAAT;AACA,OAAO,iBAAP;;AAEA,IAAI,QAAQ,CAAC,EAAT,KAAgB,KAApB,EAA2B;AACzB,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAX,EAAtB;AAGA,EAAA,UAAU,CAAC,gBAAX,CAA4B,iBAAO,KAAP,EAAc,OAAd;AAAA;AAAA;AAAA;AAAA;AAAA,iBACtB,iBAAiB,CAAC,iBADI;AAAA;AAAA;AAAA;;AAAA;AAAA,6CAElB,iBAAiB,CAAC,iBAAlB,CAAoC,sBAAsB,EAA1D,CAFkB;;AAAA;AAI1B,YAAA,aAAa,CAAC,KAAD,EAAQ,OAAR,CAAb;;AAJ0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA5B;AAMD,CAVD,MAUO,IAAI,QAAQ,CAAC,EAAT,KAAgB,KAAhB,IAAyB,SAA7B,EAAwC;AAC7C,EAAA,MAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,YAAK;AACpC,IAAA,iBAAiB,CAAC,iBAAlB,CAAoC,sBAAsB,EAA1D;AACD,GAFD;AAGD","sourcesContent":["import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { Platform } from 'react-native';\n\nimport { getRecoveryPropsToSave } from './ErroRecoveryStore';\nimport ExpoErrorRecovery from './ExpoErrorRecovery';\n\nif (Platform.OS !== 'web') {\n  const globalHandler = ErrorUtils.getGlobalHandler();\n  // ErrorUtils came from react-native\n  // https://github.com/facebook/react-native/blob/1151c096dab17e5d9a6ac05b61aacecd4305f3db/Libraries/vendor/core/ErrorUtils.js#L25\n  ErrorUtils.setGlobalHandler(async (error, isFatal) => {\n    if (ExpoErrorRecovery.saveRecoveryProps) {\n      await ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n    }\n    globalHandler(error, isFatal);\n  });\n} else if (Platform.OS === 'web' && canUseDOM) {\n  window.addEventListener('error', () => {\n    ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n  });\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"}