init-storage
Version:
为应用中的storage提供丝滑的typescript支持
18 lines (17 loc) • 1.19 kB
TypeScript
type OptionProps = {
defaultUseInit: boolean;
};
export declare const setInitStorage: <LocalStroage extends Record<string, any>, SessionStroage extends Record<string, any>>(init: {
local: LocalStroage;
session: SessionStroage;
}, option?: OptionProps) => {
getLocalStorageItem: <T extends keyof LocalStroage, GetExtends extends boolean>(item: T, ifNullIsGetInit?: GetExtends | undefined) => GetExtends extends true ? LocalStroage[T] : LocalStroage[T] | null;
setLocalStorageItem: <T_1 extends keyof LocalStroage>(item: T_1, value: LocalStroage[T_1]) => void;
removeLocalStorageItem: <T_2 extends keyof LocalStroage>(item: T_2) => void;
clearLocalStorageItem: () => void;
getSessionStorageItem: <T_3 extends keyof SessionStroage, GetExtends_1 extends boolean>(item: T_3, ifNullIsGetInit?: GetExtends_1 | undefined) => GetExtends_1 extends true ? SessionStroage[T_3] : SessionStroage[T_3] | null;
setSessionStorageItem: <T_4 extends keyof SessionStroage>(item: T_4, value: SessionStroage[T_4]) => void;
removeSessionStorageItem: <T_5 extends keyof SessionStroage>(item: T_5) => void;
clearSessionStorageItem: () => void;
};
export {};