class CacheServiceClass {
|
constructor() {
|
this._cache = new Map();
|
}
|
get(namespace, key) {
|
if (!namespace)
|
return null;
|
if (this._cache.has(namespace)) {
|
const nSpace = this._cache.get(namespace);
|
if (nSpace) {
|
if (key === void 0)
|
return nSpace;
|
else if (nSpace[key]) {
|
return nSpace[key];
|
}
|
}
|
} else {
|
this._cache.set(namespace, {});
|
return this._cache.get(namespace);
|
}
|
return null;
|
}
|
set(namespace, key, value) {
|
if (!namespace || !key)
|
return false;
|
if (!this._cache.has(namespace))
|
this._cache.set(namespace, {});
|
const nSpace = this._cache.get(namespace);
|
if (nSpace) {
|
nSpace[key] = value;
|
return true;
|
}
|
return false;
|
}
|
delete(namespace, key) {
|
if (!namespace)
|
return false;
|
if (this._cache.has(namespace)) {
|
if (key === void 0) {
|
return this._cache.delete(namespace);
|
}
|
const nSpace = this._cache.get(namespace);
|
if (nSpace && nSpace[key]) {
|
delete nSpace[key];
|
return true;
|
}
|
}
|
return false;
|
}
|
}
|
const CacheService = new CacheServiceClass();
|
|
export { CacheService };
|