UNPKG

backendless

Version:

Backendless JavaScript SDK for Node.js and the browser

65 lines (63 loc) 2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); function migrateLegacyStorageData(storage, legacyStorageName) { //TODO: this will be removed in the nearest release if (!localStorage.getItem(storage.storageName)) { var legacyStorageData = localStorage.getItem(legacyStorageName); if (legacyStorageData) { localStorage.setItem(storage.storageName, legacyStorageData); localStorage.removeItem(legacyStorageName); } } } var LocalStorage = /*#__PURE__*/function () { function LocalStorage(storageName, legacyStorageName) { (0, _classCallCheck2["default"])(this, LocalStorage); this.storageName = storageName; migrateLegacyStorageData(this, legacyStorageName); } (0, _createClass2["default"])(LocalStorage, [{ key: "getStore", value: function getStore() { try { return JSON.parse(localStorage.getItem(this.storageName)) || {}; } catch (e) { // eslint-disable-next-line no-console console.warn('Could not parse data from LocalStorage', e); } return {}; } }, { key: "setStore", value: function setStore(data) { localStorage.setItem(this.storageName, JSON.stringify(data)); } }, { key: "get", value: function get(key) { return this.getStore()[key]; } }, { key: "set", value: function set(key, value) { var store = this.getStore(); store[key] = value; this.setStore(store); } }, { key: "remove", value: function remove(key) { var store = this.getStore(); delete store[key]; this.setStore(store); } }]); return LocalStorage; }(); exports["default"] = LocalStorage;