@alilc/lowcode-editor-core
Version:
Core Api for Ali lowCode engine
57 lines (55 loc) • 1.84 kB
JavaScript
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 };