/* -------------------------------------------------------------------------- */ /* Local storage utility types */ /* -------------------------------------------------------------------------- */ export type LSSetter = (key: T, value: LSKeys[T]) => void; export type LSGetter = (key: T) => LSKeys[T] | null; export type LSKeys = { drawer: boolean; } export type LStorageHandlers = { setter: {[P in T]: LSSetter

}; getter: {[P in T]: LSGetter

}; } export type LStorage = { setItem(key: T, value: LSKeys[T]): void; getItem(key: T): ReturnType>; }