13 lines
563 B
TypeScript
13 lines
563 B
TypeScript
export interface IFuncUpdater<T> {
|
|
(previousState?: T): T;
|
|
}
|
|
export interface IFuncStorage {
|
|
(): Storage;
|
|
}
|
|
export declare type StorageStateResult<T> = [T | undefined, (value?: T | IFuncUpdater<T>) => void];
|
|
export declare type StorageStateResultHasDefaultValue<T> = [T, (value?: T | IFuncUpdater<T>) => void];
|
|
export declare function createUseStorageState(nullishStorage: Storage | null): {
|
|
<T = undefined>(key: string): StorageStateResult<T>;
|
|
<T_1>(key: string, defaultValue: T_1 | IFuncUpdater<T_1>): StorageStateResultHasDefaultValue<T_1>;
|
|
};
|