2
0
mirror of https://github.com/frappe/books.git synced 2024-11-13 00:46:28 +00:00
books/frappe/utils/cacheManager.js
2022-01-21 02:08:09 +05:30

42 lines
765 B
JavaScript

class CacheManager {
constructor() {
this.keyValueCache = {};
this.hashCache = {};
}
getValue(key) {
return this.keyValueCache[key];
}
setValue(key, value) {
this.keyValueCache[key] = value;
}
clearValue(key) {
this.keyValueCache[key] = null;
}
hget(hashName, key) {
return (this.hashCache[hashName] || {})[key];
}
hset(hashName, key, value) {
this.hashCache[hashName] = this.hashCache[hashName] || {};
this.hashCache[hashName][key] = value;
}
hclear(hashName, key) {
if (key) {
(this.hashCache[hashName] || {})[key] = null;
} else {
this.hashCache[hashName] = {};
}
}
hexists(hashName) {
return this.hashCache[hashName] != null;
}
}
module.exports = CacheManager;