32 lines
934 B
JavaScript
32 lines
934 B
JavaScript
![]() |
import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
|
||
|
const LOCAL_STORAGE_KEY = 'EXPO_ERROR_RECOVERY_STORAGE';
|
||
|
function _consumeRecoveryProps() {
|
||
|
if (!canUseDOM)
|
||
|
return null;
|
||
|
try {
|
||
|
const props = localStorage.getItem(LOCAL_STORAGE_KEY);
|
||
|
localStorage.removeItem(LOCAL_STORAGE_KEY);
|
||
|
return props;
|
||
|
}
|
||
|
catch (e) {
|
||
|
// Catches localStorage SecurityError https://github.com/expo/expo/issues/8355
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
export default {
|
||
|
get name() {
|
||
|
return 'ExpoErrorRecovery';
|
||
|
},
|
||
|
saveRecoveryProps(props) {
|
||
|
if (!canUseDOM)
|
||
|
return;
|
||
|
try {
|
||
|
localStorage.setItem(LOCAL_STORAGE_KEY, props);
|
||
|
}
|
||
|
catch (e) {
|
||
|
// Catches localStorage SecurityError https://github.com/expo/expo/issues/8355
|
||
|
}
|
||
|
},
|
||
|
recoveredProps: _consumeRecoveryProps(),
|
||
|
};
|
||
|
//# sourceMappingURL=ExpoErrorRecovery.web.js.map
|