@signalwire/core
Version:
Shared code for the SignalWire JS SDK
29 lines (22 loc) • 798 B
text/typescript
// @ts-nocheck
// TODO: Review ReactNative support
import AsyncStorage from '@react-native-community/async-storage'
import { mutateStorageKey, safeParseJson } from '../'
const getItem = async (key: string): Promise<any> => {
try {
const res = await AsyncStorage.getItem(mutateStorageKey(key))
return safeParseJson(res)
} catch (error) {
return null
}
}
const setItem = (key: string, value: any): Promise<void> => {
if (typeof value === 'object') {
value = JSON.stringify(value)
}
return AsyncStorage.setItem(mutateStorageKey(key), value)
}
const removeItem = (key: string): Promise<void> =>
AsyncStorage.removeItem(mutateStorageKey(key))
export const localStorage = { getItem, setItem, removeItem }
export const sessionStorage = { getItem, setItem, removeItem }