@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
51 lines (50 loc) • 2.57 kB
TypeScript
export interface ILocalStorage {
/** Поддерживает ли браузер localStorage. */
supportsLocalStorage(): boolean;
/**
* Сериализует из записывает значение в localStorage.
*
* Внимание, к ключу добавляется имя базы и идентификатор пользователя!
* Для чтения значения используйте {@link getData}.
*/
setData<T>(id: string, obj: T): boolean;
/**
* Получает данные из localStorage и десериализует их.
*
* Внимание, к ключу добавляется имя базы и идентификатор пользователя!
* Для записи значения используйте {@link getData}.
*/
getData<T>(id: string): T | null;
/**
* Записывает значение в localStorage.
*
* Внимание, к ключу добавляется имя базы и идентификатор пользователя!
* Для чтения значения используйте {@link getItem}.
*/
setItem(id: string, data: string): boolean;
/**
* Возвращает значение из localStorage.
*
* Внимание, к ключу добавляется имя базы и идентификатор пользователя!
* Для записи значения используйте {@link setItem}.
*/
getItem(id: string): string | null;
/**
* Удаляет значение из localStorage.
*
* Внимание, к ключу добавляется имя базы и идентификатор пользователя!
* Для записи значения используйте {@link setItem}.
*/
removeItem(id: string): void;
/**
* Преобразует ключ, добавляя к нему имя базы и идентификатор пользователя.
*
* Используется остальными методами сервиса. Необходим для исключения
* конфликтов при одновременной работе с разными базами и разными пользователями.
*/
transformId(id: string): string;
}
export declare type $LocalStorage = {
localStorage: ILocalStorage;
};
export declare const $LocalStorage: string | ((model?: $LocalStorage) => ILocalStorage);