Expose get and has methods

This commit is contained in:
epayet
2017-03-10 16:09:59 +00:00
parent 16601d1d07
commit ff6fadb01d
2 changed files with 30 additions and 2 deletions

View File

@@ -13,7 +13,7 @@ var customError = require('es5-ext/error/custom')
, on = ee.on, emit = ee.emit;
module.exports = function (original, length, options) {
var cache = create(null), conf, memLength, get, set, del, clear, extDel, normalizer
var cache = create(null), conf, memLength, get, set, del, clear, extDel, extGet, extHas, normalizer
, getListeners, setListeners, deleteListeners, memoized, resolve;
if (length !== false) memLength = length;
else if (isNaN(original.length)) memLength = 1;
@@ -135,10 +135,24 @@ module.exports = function (original, length, options) {
return conf.delete(arg);
};
}
extGet = function () {
var id, args = arguments;
if (resolve) args = resolve(args);
id = get(args);
return cache[id];
};
extHas = function () {
var id, args = arguments;
if (resolve) args = resolve(args);
id = get(args);
return conf.has(id);
};
defineProperties(memoized, {
__memoized__: d(true),
delete: d(extDel),
clear: d(conf.clear)
clear: d(conf.clear),
get: d(extGet),
has: d(extHas)
});
return conf;
};