UNPKG

@alilc/lowcode-editor-core

Version:

Core Api for Ali lowCode engine

57 lines (55 loc) 1.84 kB
import store from 'store'; import { getLogger } from './logger'; var 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 = /*#__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.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.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.get(storageKey); return !(result === undefined || result === null); }; return Preference; }(); export { Preference as default };