Files
jackbeeby b412dfe2ca Initialisation
Added the packages and files for the backend server
2024-12-15 17:48:45 +11:00

50 lines
1.6 KiB
JavaScript

"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrefixingKeyValueCache = void 0;
const prefixesAreUnnecessaryForIsolationSymbol = Symbol("prefixesAreUnnecessaryForIsolation");
class PrefixingKeyValueCache {
constructor(wrapped, prefix) {
this.wrapped = wrapped;
if (PrefixingKeyValueCache.prefixesAreUnnecessaryForIsolation(wrapped)) {
this.prefix = "";
this[prefixesAreUnnecessaryForIsolationSymbol] = true;
}
else {
this.prefix = prefix;
}
}
get(key) {
return this.wrapped.get(this.prefix + key);
}
set(key, value, options) {
return this.wrapped.set(this.prefix + key, value, options);
}
delete(key) {
return this.wrapped.delete(this.prefix + key);
}
static prefixesAreUnnecessaryForIsolation(c) {
return prefixesAreUnnecessaryForIsolationSymbol in c;
}
static cacheDangerouslyDoesNotNeedPrefixesForIsolation(c) {
return new PrefixesAreUnnecessaryForIsolationCache(c);
}
}
exports.PrefixingKeyValueCache = PrefixingKeyValueCache;
class PrefixesAreUnnecessaryForIsolationCache {
constructor(wrapped) {
this.wrapped = wrapped;
this[_a] = true;
}
get(key) {
return this.wrapped.get(key);
}
set(key, value, options) {
return this.wrapped.set(key, value, options);
}
delete(key) {
return this.wrapped.delete(key);
}
}
_a = prefixesAreUnnecessaryForIsolationSymbol;
//# sourceMappingURL=PrefixingKeyValueCache.js.map