Safe localStorage wrapper with JSON support and error handling
1const storage = {
2 get(key, defaultValue = null) {
3 try {
4 const item = localStorage.getItem(key);
5 return item ? JSON.parse(item) : defaultValue;
6 } catch (error) {
7 console.error('Error reading from localStorage:', error);
8 return defaultValue;
9 }
10 },
11
12 set(key, value) {
13 try {
14 localStorage.setItem(key, JSON.stringify(value));
15 return true;
16 } catch (error) {
17 console.error('Error writing to localStorage:', error);
18 return false;
19 }
20 },
21
22 remove(key) {
23 try {
24 localStorage.removeItem(key);
25 return true;
26 } catch (error) {
27 console.error('Error removing from localStorage:', error);
28 return false;
29 }
30 },
31
32 clear() {
33 try {
34 localStorage.clear();
35 return true;
36 } catch (error) {
37 console.error('Error clearing localStorage:', error);
38 return false;
39 }
40 }
41};
42
43// Usage example
44storage.set('user', { name: 'John', age: 30 });
45const user = storage.get('user');
46console.log(user); // { name: 'John', age: 30 }Organize your team's code snippets with Snippetly. Share knowledge and boost productivity across your organization.