UNPKG

@alilc/lowcode-editor-core

Version:

Core Api for Ali lowCode engine

61 lines (58 loc) 2.06 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _store = _interopRequireDefault(require("store")); var _logger = require("./logger"); var logger = (0, _logger.getLogger)({ level: 'warn', bizName: 'Preference' }); var STORAGE_KEY_PREFIX = 'ale'; /** * used to store user preferences, such as pinned status of a pannel. * save to local storage. */ var Preference = exports["default"] = /*#__PURE__*/function () { function Preference() {} var _proto = Preference.prototype; _proto.getStorageKey = function getStorageKey(key, module) { var moduleKey = module || '__inner__'; return STORAGE_KEY_PREFIX + "_" + moduleKey + "." + key; }; _proto.set = function set(key, value, module) { if (!key || typeof key !== 'string' || key.length === 0) { logger.error('Invalid key when setting preference', key); return; } var storageKey = this.getStorageKey(key, module); logger.debug('storageKey:', storageKey, 'set with value:', value); _store["default"].set(storageKey, value); }; _proto.get = function get(key, module) { if (!key || typeof key !== 'string' || key.length === 0) { logger.error('Invalid key when getting from preference', key); return; } var storageKey = this.getStorageKey(key, module); var result = _store["default"].get(storageKey); logger.debug('storageKey:', storageKey, 'get with result:', result); return result; } /** * check if local storage contain certain key * * @param {string} key * @param {string} module */; _proto.contains = function contains(key, module) { if (!key || typeof key !== 'string' || key.length === 0) { logger.error('Invalid key when getting from preference', key); return false; } var storageKey = this.getStorageKey(key, module); var result = _store["default"].get(storageKey); return !(result === undefined || result === null); }; return Preference; }();