UNPKG

@itwin/core-react

Version:

A react component library of iTwin.js UI general purpose components

49 lines 2.08 kB
/*--------------------------------------------------------------------------------------------- * 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