/**
* @file 基本的数据缓存类
*/
/**
* 内存缓存数据对象类,与 `localStorage` API 保持一致
*/
class DataCache {
constructor() {
this.length = 0;
this.cache = {};
}
/**
* 获取值
* @param {String} key
* @return {*}
*/
getItem(key) {
return this.cache[key];
}
/**
* 设置值
* @param {String} key
* @param {*} value
*/
setItem(key, value) {
if (!this.cache.hasOwnProperty(key)) {
this.length++;
}
this.cache[key] = value;
}
/**
* 删除一个值
* @param {String} key
* @return {void}
*/
removeItem(key) {
if (this.cache.hasOwnProperty(key)) {
this.length--;
delete this.cache[key];
}
}
/**
* 清空
*/
clear() {
this.length = 0;
this.cache = {};
}
/**
* 取得第 index 个数的 key
* @param {Number} index
* @return {*}
*/
key(index) {
let key, _index = 0;
for (key in this.cache) {
if (index === _index) {
return key;
}
_index++;
}
return null;
}
}
export default DataCache;