Please don't lock in Storage library. I use mmkv lib. Just provider a Storage interface:
import { MMKV } from 'react-native-mmkv'
export function createSyncStorage(internalStorage: MMKV) {
function getItem(key: string): string | null {
const value = internalStorage.getString(key)
return value ? value : null
}
function setItem(key: string, value: string): void {
internalStorage.set(key, value)
}
function removeItem(key: string): void {
internalStorage.remove(key)
}
function clearAll(): void {
internalStorage.clearAll()
}
return {
getItem,
setItem,
removeItem,
clearAll,
}
}
export function createAsyncStorage(internalStorage: MMKV) {
async function getItem(key: string): Promise<string | null> {
const value = internalStorage.getString(key)
return value ? value : null
}
async function setItem(key: string, value: string): Promise<void> {
internalStorage.set(key, value)
}
async function removeItem(key: string): Promise<void> {
internalStorage.remove(key)
}
async function clearAll(): Promise<void> {
internalStorage.clearAll()
}
return {
getItem,
setItem,
removeItem,
clearAll,
}
}
// This is = "@react-native-async-storage/async-storage
export const AsyncStorage = createAyncStorage(mmkvSyncStorage)
Please don't lock in Storage library. I use mmkv lib. Just provider a Storage interface: