Do not fail when sessionStorage is not available.

Fixes https://github.com/PeWu/topola-webtrees/issues/1
This commit is contained in:
Przemek Wiech
2019-07-09 00:20:39 +02:00
parent dfd58ea8af
commit c68a9d1586

View File

@@ -36,9 +36,13 @@ export async function loadFromUrl(
url: string,
handleCors: boolean,
): Promise<TopolaData> {
const cachedData = sessionStorage.getItem(url);
if (cachedData) {
return JSON.parse(cachedData);
try {
const cachedData = sessionStorage.getItem(url);
if (cachedData) {
return JSON.parse(cachedData);
}
} catch (e) {
console.warn('Failed to load data from session storage: ' + e);
}
const urlToFetch = handleCors
? 'https://cors-anywhere.herokuapp.com/' + url
@@ -58,9 +62,13 @@ export async function loadGedcom(
gedcom?: string,
images?: Map<string, string>,
): Promise<TopolaData> {
const cachedData = sessionStorage.getItem(hash);
if (cachedData) {
return JSON.parse(cachedData);
try {
const cachedData = sessionStorage.getItem(hash);
if (cachedData) {
return JSON.parse(cachedData);
}
} catch (e) {
console.warn('Failed to load data from session storage: ' + e);
}
if (!gedcom) {
throw new Error('Error loading data. Please upload your file again.');