@capacitor/preferences
Version:
The Preferences API provides a simple key/value persistent store for lightweight data.
136 lines (135 loc) • 3.32 kB
TypeScript
export interface ConfigureOptions {
/**
* Set the preferences group.
*
* Preferences groups are used to organize key/value pairs.
*
* Using the value 'NativeStorage' provides backwards-compatibility with
* [`cordova-plugin-nativestorage`](https://www.npmjs.com/package/cordova-plugin-nativestorage).
* WARNING: The `clear()` method can delete unintended values when using the
* 'NativeStorage' group.
*
* @default CapacitorStorage
* @since 1.0.0
*/
group?: string;
}
export interface GetOptions {
/**
* The key whose value to retrieve from preferences.
*
* @since 1.0.0
*/
key: string;
}
export interface GetResult {
/**
* The value from preferences associated with the given key.
*
* If a value was not previously set or was removed, value will be `null`.
*
* @since 1.0.0
*/
value: string | null;
}
export interface SetOptions {
/**
* The key to associate with the value being set in preferences.
*
* @since 1.0.0
*/
key: string;
/**
* The value to set in preferences with the associated key.
*
* @since 1.0.0
*/
value: string;
}
export interface RemoveOptions {
/**
* The key whose value to remove from preferences.
*
* @since 1.0.0
*/
key: string;
}
export interface KeysResult {
/**
* The known keys in preferences.
*
* @since 1.0.0
*/
keys: string[];
}
export interface MigrateResult {
/**
* An array of keys that were migrated.
*
* @since 1.0.0
*/
migrated: string[];
/**
* An array of keys that were already migrated or otherwise exist in preferences
* that had a value in the Capacitor 2 Preferences plugin.
*
* @since 1.0.0
*/
existing: string[];
}
export interface PreferencesPlugin {
/**
* Configure the preferences plugin at runtime.
*
* Options that are `undefined` will not be used.
*
* @since 1.0.0
*/
configure(options: ConfigureOptions): Promise<void>;
/**
* Get the value from preferences of a given key.
*
* @since 1.0.0
*/
get(options: GetOptions): Promise<GetResult>;
/**
* Set the value in preferences for a given key.
*
* @since 1.0.0
*/
set(options: SetOptions): Promise<void>;
/**
* Remove the value from preferences for a given key, if any.
*
* @since 1.0.0
*/
remove(options: RemoveOptions): Promise<void>;
/**
* Clear keys and values from preferences.
*
* @since 1.0.0
*/
clear(): Promise<void>;
/**
* Return the list of known keys in preferences.
*
* @since 1.0.0
*/
keys(): Promise<KeysResult>;
/**
* Migrate data from the Capacitor 2 Storage plugin.
*
* This action is non-destructive. It will not remove old data and will only
* write new data if they key was not already set.
* To remove the old data after being migrated, call removeOld().
*
* @since 1.0.0
*/
migrate(): Promise<MigrateResult>;
/**
* Removes old data with `_cap_` prefix from the Capacitor 2 Storage plugin.
*
* @since 1.1.0
*/
removeOld(): Promise<void>;
}