import { NativeModules } from 'react-native'; const { RNDefaultPreference } = NativeModules; export interface RNDefaultPreferenceKeys { [key: string]: string | number | boolean | string[] | null; } class DefaultPreference { private static groupName: string = 'default'; static setName(name: string = 'default') { DefaultPreference.groupName = name; if (name !== 'default') { RNDefaultPreference.setName(name); } } static async get(key: string): Promise { return RNDefaultPreference.get(key); } static async set(key: string, value: string | number | boolean): Promise { return RNDefaultPreference.set(key, value); } static async clear(key: string): Promise { return RNDefaultPreference.clear(key); } static async getMultiple(keys: string[]): Promise<(string | number | boolean | null)[]> { return RNDefaultPreference.getMultiple(keys); } static async setMultiple(data: RNDefaultPreferenceKeys): Promise { return RNDefaultPreference.setMultiple(data); } static async clearMultiple(keys: string[]): Promise { return RNDefaultPreference.clearMultiple(keys); } static async getAll(): Promise { return RNDefaultPreference.getAll(); } static async clearAll(): Promise { return RNDefaultPreference.clearAll(); } static async getName(): Promise { return DefaultPreference.groupName; } } export default DefaultPreference;