mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 17:35:16 +00:00
22 lines
583 B
JavaScript
22 lines
583 B
JavaScript
|
// Used https://github.com/thinkloop/multi-key-cache as inspiration
|
||
|
var multiKeyStore = {
|
||
|
set: function set(cache, key1, key2, value) {
|
||
|
var subCache = cache.get(key1);
|
||
|
|
||
|
if (!subCache) {
|
||
|
subCache = new Map();
|
||
|
cache.set(key1, subCache);
|
||
|
}
|
||
|
|
||
|
subCache.set(key2, value);
|
||
|
},
|
||
|
get: function get(cache, key1, key2) {
|
||
|
var subCache = cache.get(key1);
|
||
|
return subCache ? subCache.get(key2) : undefined;
|
||
|
},
|
||
|
delete: function _delete(cache, key1, key2) {
|
||
|
var subCache = cache.get(key1);
|
||
|
subCache.delete(key2);
|
||
|
}
|
||
|
};
|
||
|
export default multiKeyStore;
|