@itwin/core-react
Version:
A react component library of iTwin.js UI general purpose components
49 lines • 2.08 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module UiStateStorage
*/
import { UiStateStorageStatus } from "./UiStateStorage.js";
/* eslint-disable @typescript-eslint/no-deprecated */
/** Implementation of [[UiStateStorage]] using Window.localStorage.
* @public
* @deprecated in 4.16.0. Use {@link @itwin/appui-react#LocalStateStorage} instead.
*/
export class LocalStateStorage {
w;
constructor(w = window) {
this.w = w;
}
async getSetting(settingNamespace, settingName) {
const setting = this.w.localStorage.getItem(`${settingNamespace}.${settingName}`);
if (setting !== null)
return {
status: UiStateStorageStatus.Success,
setting: JSON.parse(setting),
};
else
return { status: UiStateStorageStatus.NotFound };
}
async saveSetting(settingNamespace, settingName, setting) {
this.w.localStorage.setItem(`${settingNamespace}.${settingName}`, JSON.stringify(setting));
return { status: UiStateStorageStatus.Success };
}
async hasSetting(settingNamespace, settingName) {
const name = `${settingNamespace}.${settingName}`;
const setting = this.w.localStorage.getItem(name);
if (setting === null)
return false;
return true;
}
async deleteSetting(settingNamespace, settingName) {
const name = `${settingNamespace}.${settingName}`;
const setting = this.w.localStorage.getItem(name);
if (setting === null)
return { status: UiStateStorageStatus.NotFound };
this.w.localStorage.removeItem(name);
return { status: UiStateStorageStatus.Success };
}
}
//# sourceMappingURL=LocalStateStorage.js.map