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