create-expo-cljs-app
Version:
Create a react native application with Expo and Shadow-CLJS!
32 lines (27 loc) • 841 B
text/typescript
import { Platform } from 'expo-modules-core';
const LOCAL_STORAGE_KEY = 'EXPO_ERROR_RECOVERY_STORAGE';
function _consumeRecoveryProps(): string | null {
if (!Platform.isDOMAvailable) 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(): string {
return 'ExpoErrorRecovery';
},
saveRecoveryProps(props: string): void {
if (!Platform.isDOMAvailable) return;
try {
localStorage.setItem(LOCAL_STORAGE_KEY, props);
} catch (e) {
// Catches localStorage SecurityError https://github.com/expo/expo/issues/8355
}
},
recoveredProps: _consumeRecoveryProps(),
};