@react-native-async-storage/async-storage
Version:
Asynchronous, persistent, key-value storage system for React Native.
34 lines (26 loc) • 1.14 kB
text/typescript
import type { TurboModule } from "react-native";
import { TurboModuleRegistry } from "react-native";
export interface Spec extends TurboModule {
getValues: (
dbName: string,
keys: string[]
) => Promise<{ key: string; value: string | null }[]>;
setValues: (
dbName: string,
values: { key: string; value: string | null }[]
) => Promise<{ key: string; value: string | null }[]>;
removeValues: (dbName: string, keys: string[]) => Promise<void>;
getKeys: (dbName: string) => Promise<string[]>;
clearStorage: (dbName: string) => Promise<void>;
/**
* As part of migration to new storage, old implementation is available.
* But the callback approach is replaced with promises.
*/
legacy_multiGet: (keys: string[]) => Promise<[string, string][]>;
legacy_multiSet: (kvPairs: [string, string][]) => Promise<void>;
legacy_multiRemove: (keys: readonly string[]) => Promise<void>;
legacy_multiMerge: (kvPairs: [string, string][]) => Promise<void>;
legacy_getAllKeys: () => Promise<string[]>;
legacy_clear: () => Promise<void>;
}
export default TurboModuleRegistry.get<Spec>("RNAsyncStorage");