frontend/.pnpm-store/v3/files/c2/8a875e4dcf3497d9a2e86369c02ca4f503f623d13af1c8679ac852995a43215e8560f93de1596be930d5378d0eaf253148f919ec52df5411bf58ad4c815a31

30 lines
598 B
Plaintext

"use strict";
var indexOf = require("es5-ext/array/#/e-index-of");
module.exports = function () {
var lastId = 0, argsMap = [], cache = [];
return {
get: function (args) {
var index = indexOf.call(argsMap, args[0]);
return index === -1 ? null : cache[index];
},
set: function (args) {
argsMap.push(args[0]);
cache.push(++lastId);
return lastId;
},
delete: function (id) {
var index = indexOf.call(cache, id);
if (index !== -1) {
argsMap.splice(index, 1);
cache.splice(index, 1);
}
},
clear: function () {
argsMap = [];
cache = [];
}
};
};