mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1import AsyncStorage from '@react-native-async-storage/async-storage'
2
3export async function loadString(key: string): Promise<string | null> {
4 try {
5 return await AsyncStorage.getItem(key)
6 } catch {
7 // not sure why this would fail... even reading the RN docs I'm unclear
8 return null
9 }
10}
11
12export async function saveString(key: string, value: string): Promise<boolean> {
13 try {
14 await AsyncStorage.setItem(key, value)
15 return true
16 } catch {
17 return false
18 }
19}
20
21export async function load(key: string): Promise<any | null> {
22 try {
23 const str = await AsyncStorage.getItem(key)
24 if (typeof str !== 'string') {
25 return null
26 }
27 return JSON.parse(str)
28 } catch {
29 return null
30 }
31}
32
33export async function save(key: string, value: any): Promise<boolean> {
34 try {
35 await AsyncStorage.setItem(key, JSON.stringify(value))
36 return true
37 } catch {
38 return false
39 }
40}
41
42export async function remove(key: string): Promise<void> {
43 try {
44 await AsyncStorage.removeItem(key)
45 } catch {}
46}
47
48export async function clear(): Promise<void> {
49 try {
50 await AsyncStorage.clear()
51 } catch {}
52}