webext-storage
Version:
A more usable typed storage API for Web Extensions
22 lines (21 loc) • 923 B
TypeScript
export type StorageItemOptions<T> = {
area?: chrome.storage.AreaName;
defaultValue?: T;
};
export declare class StorageItem<
/** Only specify this if you don't have a default value */
Base,
/** The return type will be undefined unless you provide a default value */
Return = Base | undefined> {
readonly key: string;
readonly area: chrome.storage.AreaName;
readonly defaultValue?: Return;
/** @deprecated Use `onChanged` instead */
onChange: (callback: (value: Exclude<Return, undefined>) => void, signal?: AbortSignal) => void;
constructor(key: string, { area, defaultValue, }?: StorageItemOptions<Exclude<Return, undefined>>);
get: () => Promise<Return>;
set: (value: Exclude<Return, undefined>) => Promise<void>;
has: () => Promise<boolean>;
remove: () => Promise<void>;
onChanged(callback: (value: Exclude<Return, undefined>) => void, signal?: AbortSignal): void;
}