Browse Source

fix(admin-ui): Safely parse values from LocalStorage

Michael Bromley 7 years ago
parent
commit
2940332d09

+ 8 - 1
admin-ui/src/app/core/providers/local-storage/local-storage.service.ts

@@ -31,7 +31,14 @@ export class LocalStorageService {
     public get(key: LocalStorageKey): any {
         const keyName = this.keyName(key);
         const item = sessionStorage.getItem(keyName) || localStorage.getItem(keyName);
-        return JSON.parse(item || 'null');
+        let result: any;
+        try {
+            result = JSON.parse(item || 'null');
+        } catch (e) {
+            // tslint:disable-next-line:no-console
+            console.error(`Could not parse the localStorage value for "${key}" (${item})`);
+        }
+        return result;
     }
 
     public remove(key: LocalStorageKey): void {