Files
info-target-mobile/hooks/storage.native.ts
Samandar Turgunboyev 22c1688781 register update
2026-03-18 17:56:26 +05:00

61 lines
1.5 KiB
TypeScript

import AsyncStorage from '@react-native-async-storage/async-storage';
export const saveAsyncStorage = async (name: string, value: string) => {
await AsyncStorage.setItem(name, value);
};
export const getAsyncStorage = (name: string) => {
return AsyncStorage.getItem(name);
};
export const deleteAsyncStorage = async (name: string) => {
await AsyncStorage.removeItem(name);
};
/**
* Lang qiymatini AsyncStorage ga saqlaydi
* @param lang 'uz' | 'ru' | 'en'
*/
export const saveLang = async (lang: string) => {
try {
await AsyncStorage.setItem('lang', lang);
} catch (error) { }
};
/**
* AsyncStorage dan lang qiymatini oladi
* Agar mavjud bo'lmasa, null qaytaradi
*/
export const getLang = async (): Promise<string | null> => {
try {
const lang = await AsyncStorage.getItem('lang');
return lang;
} catch (error) {
return null;
}
};
/**
* AsyncStorage dan lang ni o'chiradi
*/
export const deleteLang = async () => {
try {
await AsyncStorage.removeItem('lang');
} catch (error) { }
};
const ACCESS = 'access_token';
const REFRESH = 'refresh_token';
export const setToken = (token: string) => AsyncStorage.setItem(ACCESS, token);
export const getToken = async () => AsyncStorage.getItem(ACCESS);
export const removeToken = () => AsyncStorage.removeItem(ACCESS);
export const setRefToken = (token: string) => AsyncStorage.setItem(REFRESH, token);
export const getRefToken = async () => AsyncStorage.getItem(REFRESH);
export const removeRefToken = () => AsyncStorage.removeItem(REFRESH);