Socket
Socket
Sign inDemoInstall

lru-memoize

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.1 to 1.0.2

.nyc_output/80c83628aa45d08581d09ac2c8390832.json

435

dist/lru-memoize.js

@@ -14,39 +14,65 @@ (function webpackUniversalModuleDefinition(root, factory) {

/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ return __webpack_require__(__webpack_require__.s = 2);
/******/ })

@@ -56,222 +82,259 @@ /************************************************************************/

/* 0 */
/***/ function(module, exports, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
'use strict';
"use strict";
exports.__esModule = true;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports.__esModule = true;
exports.default = memoize;
var _memoize = __webpack_require__(3);
var _deepEquals = __webpack_require__(1);
var _memoize2 = _interopRequireDefault(_memoize);
var _deepEquals2 = _interopRequireDefault(_deepEquals);
exports['default'] = _memoize2['default'];
module.exports = exports['default'];
var _lruCache = __webpack_require__(3);
/***/ },
/* 1 */
/***/ function(module, exports) {
var _lruCache2 = _interopRequireDefault(_lruCache);
'use strict';
var _singletonCache = __webpack_require__(4);
exports.__esModule = true;
exports['default'] = deepEquals;
var hasOwn = Object.prototype.hasOwnProperty;
var _singletonCache2 = _interopRequireDefault(_singletonCache);
function deepEquals(equals, deepObjects) {
function deep(valueA, valueB) {
if (equals(valueA, valueB)) {
return true;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
if (Array.isArray(valueA)) {
if (!Array.isArray(valueB) || valueA.length !== valueB.length) {
return false;
}
for (var index = 0; index < valueA.length; index++) {
if (!deep(valueA[index], valueB[index])) {
return false;
}
}
// could not find unequal items
return true;
}
function createCache(limit, equals) {
return limit === 1 ? (0, _singletonCache2.default)(equals) : (0, _lruCache2.default)(limit, equals);
}
if (Array.isArray(valueB)) {
return false;
}
function createEqualsFn(basicEquals, deepObjects) {
// Choose strategy for basic or deep object equals
var equals = deepObjects ? (0, _deepEquals2.default)(basicEquals, deepObjects) : basicEquals;
if (typeof valueA === 'object') {
if (typeof valueB !== 'object') {
return false;
}
return function (valueA, valueB) {
// The arguments are always the argument array-like objects
var isANull = valueA === null;
var isBNull = valueB === null;
if (isANull || isBNull) {
return isANull === isBNull;
}
// Different lengths means they are not the same
if (valueA.length !== valueB.length) {
return false;
}
var aKeys = Object.keys(valueA);
var bKeys = Object.keys(valueB);
// Compare the values
for (var index = 0; index < valueA.length; index += 1) {
if (!equals(valueA[index], valueB[index])) {
return false;
}
}
// Found no conflicts
return true;
};
}
if (aKeys.length !== bKeys.length) {
return false;
}
function memoize() {
var limit = 1;
var equals = function equals(valueA, valueB) {
return valueA === valueB;
};
var deepObjects = false;
for (var index = 0; index < aKeys.length; index++) {
var key = aKeys[index];
if (hasOwn.call(valueA, key) && (!hasOwn.call(valueB, key) || !(deepObjects ? deep : equals)(valueA[key], valueB[key]))) {
return false;
}
}
// could not find unequal keys or values
return true;
}
return false;
}
for (var _len = arguments.length, config = Array(_len), _key = 0; _key < _len; _key++) {
config[_key] = arguments[_key];
}
return deep;
}
if (typeof config[0] === 'number') {
limit = config.shift();
}
if (typeof config[0] === 'function') {
equals = config.shift();
} else if (typeof config[0] === 'undefined') {
// Support passing undefined equal argument;
config.shift();
}
if (typeof config[0] === 'boolean') {
deepObjects = config[0];
}
module.exports = exports['default'];
var cache = createCache(limit, createEqualsFn(equals, deepObjects));
/***/ },
/* 2 */
/***/ function(module, exports) {
return function (fn) {
return function () {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
"use strict";
var value = cache.get(args);
if (value === undefined) {
value = fn.apply(fn, args);
cache.put(args, value);
}
return value;
};
};
}
exports.__esModule = true;
exports["default"] = lruCache;
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
function lruCache(limit, equals) {
var entries = [];
"use strict";
function get(key) {
for (var index = 0; index < entries.length; index++) {
var entry = entries[index];
if (equals(key, entry.key)) {
if (index > 0) {
// move this entry to the top of the cache
entries.splice(index, 1);
entries.unshift(entry);
}
return entry.value;
}
}
}
function put(key, value) {
if (!get(key)) {
entries.unshift({ key: key, value: value });
if (entries.length > limit) {
entries.pop();
}
}
}
exports.__esModule = true;
return { get: get, put: put };
}
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports = exports["default"];
exports.default = deepEquals;
var hasOwn = function hasOwn(object, key) {
return Object.prototype.hasOwnProperty.call(object, key);
};
function deepEquals(equals, deepObjects) {
function deep(valueA, valueB) {
if (equals(valueA, valueB)) {
return true;
}
/***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) {
if (Array.isArray(valueA)) {
if (!Array.isArray(valueB) || valueA.length !== valueB.length) {
return false;
}
'use strict';
// Check deep equality of each value in A against the same indexed value in B
if (!valueA.every(function (value, index) {
return deep(value, valueB[index]);
})) {
return false;
}
exports.__esModule = true;
exports['default'] = memoize;
// could not find unequal items
return true;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
if (Array.isArray(valueB)) {
return false;
}
var _singletonCache = __webpack_require__(4);
if ((typeof valueA === 'undefined' ? 'undefined' : _typeof(valueA)) === 'object') {
if ((typeof valueB === 'undefined' ? 'undefined' : _typeof(valueB)) !== 'object') {
return false;
}
var _singletonCache2 = _interopRequireDefault(_singletonCache);
var isANull = valueA === null;
var isBNull = valueB === null;
if (isANull || isBNull) {
return isANull === isBNull;
}
var _lruCache = __webpack_require__(2);
var aKeys = Object.keys(valueA);
var bKeys = Object.keys(valueB);
var _lruCache2 = _interopRequireDefault(_lruCache);
if (aKeys.length !== bKeys.length) {
return false;
}
var _deepEquals = __webpack_require__(1);
// Should we compare with shallow equivalence or deep equivalence?
var equalityChecker = deepObjects ? deep : equals;
var _deepEquals2 = _interopRequireDefault(_deepEquals);
// Check if objects share same keys, and each of those keys are equal
if (!aKeys.every(function (aKey) {
return hasOwn(valueA, aKey) && hasOwn(valueB, aKey) && equalityChecker(valueA[aKey], valueB[aKey]);
})) {
return false;
}
function createCache(limit, equals) {
return limit === 1 ? _singletonCache2['default'](equals) : _lruCache2['default'](limit, equals);
}
// could not find unequal keys or values
return true;
}
return false;
}
function memoize() {
var limit = 1;
var equals = function equals(valueA, valueB) {
return valueA === valueB;
};
var deepObjects = false;
return deep;
}
for (var _len = arguments.length, config = Array(_len), _key = 0; _key < _len; _key++) {
config[_key] = arguments[_key];
}
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
if (typeof config[0] === 'number') {
limit = config.shift();
}
if (typeof config[0] === 'function') {
equals = config.shift();
}
if (typeof config[0] === 'boolean') {
deepObjects = config[0];
}
"use strict";
var cache = createCache(limit, _deepEquals2['default'](equals, deepObjects));
return function (fn) {
return function () {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
exports.__esModule = true;
var value = cache.get(args);
if (value === undefined) {
value = fn.apply(fn, args);
cache.put(args, value);
}
return value;
};
};
}
var _memoize = __webpack_require__(0);
module.exports = exports['default'];
var _memoize2 = _interopRequireDefault(_memoize);
/***/ },
/* 4 */
/***/ function(module, exports) {
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
"use strict";
exports.default = _memoize2.default;
exports.__esModule = true;
exports["default"] = singletonCache;
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
function singletonCache(equals) {
var entry = undefined;
return {
get: function get(key) {
if (entry && equals(key, entry.key)) {
return entry.value;
}
},
"use strict";
put: function put(key, value) {
entry = { key: key, value: value };
}
};
}
module.exports = exports["default"];
exports.__esModule = true;
exports.default = lruCache;
function lruCache(limit, equals) {
var entries = [];
/***/ }
/******/ ])
});
;
function get(key) {
var cacheIndex = entries.findIndex(function (entry) {
return equals(key, entry.key);
});
// We found a cached entry
if (cacheIndex > -1) {
var entry = entries[cacheIndex];
// Cached entry not at top of cache, move it to the top
if (cacheIndex > 0) {
entries.slice(cacheIndex, 1);
entries.unshift(entry);
}
return entry.value;
}
// No entry found in cache, return null
return undefined;
}
function put(key, value) {
if (!get(key)) {
entries.unshift({ key: key, value: value });
if (entries.length > limit) {
entries.pop();
}
}
}
return { get: get, put: put };
}
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = singletonCache;
function singletonCache(equals) {
var entry = void 0;
return {
get: function get(key) {
if (entry && equals(key, entry.key)) {
return entry.value;
}
},
put: function put(key, value) {
entry = { key: key, value: value };
}
};
}
/***/ })
/******/ ]);
});

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.LruMemoize=t():e.LruMemoize=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var u=r[n]={exports:{},id:n,loaded:!1};return e[n].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var u=r(3),o=n(u);t.default=o.default,e.exports=t.default},function(e,t){"use strict";function r(e,t){function r(u,o){if(e(u,o))return!0;if(Array.isArray(u)){if(!Array.isArray(o)||u.length!==o.length)return!1;for(var f=0;f<u.length;f++)if(!r(u[f],o[f]))return!1;return!0}if(Array.isArray(o))return!1;if("object"==typeof u){if("object"!=typeof o)return!1;var i=null===u,a=null===o;if(i||a)return i===a;var l=Object.keys(u),s=Object.keys(o);if(l.length!==s.length)return!1;for(var f=0;f<l.length;f++){var c=l[f];if(n.call(u,c)&&(!n.call(o,c)||!(t?r:e)(u[c],o[c])))return!1}return!0}return!1}return r}t.__esModule=!0,t.default=r;var n=Object.prototype.hasOwnProperty;e.exports=t.default},function(e,t){"use strict";function r(e,t){function r(e){for(var r=0;r<u.length;r++){var n=u[r];if(t(e,n.key))return r>0&&(u.splice(r,1),u.unshift(n)),n.value}}function n(t,n){r(t)||(u.unshift({key:t,value:n}),u.length>e&&u.pop())}var u=[];return{get:r,put:n}}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function u(e,t){return 1===e?i.default(t):l.default(e,t)}function o(){for(var e=1,t=function(e,t){return e===t},r=!1,n=arguments.length,o=Array(n),f=0;n>f;f++)o[f]=arguments[f];"number"==typeof o[0]&&(e=o.shift()),"function"==typeof o[0]&&(t=o.shift()),"boolean"==typeof o[0]&&(r=o[0]);var i=u(e,c.default(t,r));return function(e){return function(){for(var t=arguments.length,r=Array(t),n=0;t>n;n++)r[n]=arguments[n];var u=i.get(r);return void 0===u&&(u=e.apply(e,r),i.put(r,u)),u}}}t.__esModule=!0,t.default=o;var f=r(4),i=n(f),a=r(2),l=n(a),s=r(1),c=n(s);e.exports=t.default},function(e,t){"use strict";function r(e){var t=void 0;return{get:function(r){return t&&e(r,t.key)?t.value:void 0},put:function(e,r){t={key:e,value:r}}}}t.__esModule=!0,t.default=r,e.exports=t.default}])});
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.LruMemoize=e():t.LruMemoize=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var u=n[r]={i:r,l:!1,exports:{}};return t[r].call(u.exports,u,u.exports,e),u.l=!0,u.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=2)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function u(t,e){return 1===t?(0,y.default)(e):(0,a.default)(t,e)}function o(t,e){var n=e?(0,c.default)(t,e):t;return function(t,e){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r+=1)if(!n(t[r],e[r]))return!1;return!0}}function f(){for(var t=1,e=function(t,e){return t===e},n=!1,r=arguments.length,f=Array(r),i=0;i<r;i++)f[i]=arguments[i];"number"==typeof f[0]&&(t=f.shift()),"function"==typeof f[0]?e=f.shift():void 0===f[0]&&f.shift(),"boolean"==typeof f[0]&&(n=f[0]);var c=u(t,o(e,n));return function(t){return function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var u=c.get(n);return void 0===u&&(u=t.apply(t,n),c.put(n,u)),u}}}e.__esModule=!0,e.default=f;var i=n(1),c=r(i),l=n(3),a=r(l),s=n(4),y=r(s)},function(t,e,n){"use strict";function r(t,e){function n(r,f){if(t(r,f))return!0;if(Array.isArray(r))return!(!Array.isArray(f)||r.length!==f.length)&&!!r.every(function(t,e){return n(t,f[e])});if(Array.isArray(f))return!1;if("object"===(void 0===r?"undefined":u(r))){if("object"!==(void 0===f?"undefined":u(f)))return!1;var i=null===r,c=null===f;if(i||c)return i===c;var l=Object.keys(r),a=Object.keys(f);if(l.length!==a.length)return!1;var s=e?n:t;return!!l.every(function(t){return o(r,t)&&o(f,t)&&s(r[t],f[t])})}return!1}return n}e.__esModule=!0;var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.default=r;var o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},function(t,e,n){"use strict";e.__esModule=!0;var r=n(0),u=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=u.default},function(t,e,n){"use strict";function r(t,e){function n(t){var n=u.findIndex(function(n){return e(t,n.key)});if(n>-1){var r=u[n];return n>0&&(u.slice(n,1),u.unshift(r)),r.value}}function r(e,r){n(e)||(u.unshift({key:e,value:r}),u.length>t&&u.pop())}var u=[];return{get:n,put:r}}e.__esModule=!0,e.default=r},function(t,e,n){"use strict";function r(t){var e=void 0;return{get:function(n){if(e&&t(n,e.key))return e.value},put:function(t,n){e={key:t,value:n}}}}e.__esModule=!0,e.default=r}])});
'use strict';
exports.__esModule = true;
exports['default'] = deepEquals;
var hasOwn = Object.prototype.hasOwnProperty;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.default = deepEquals;
var hasOwn = function hasOwn(object, key) {
return Object.prototype.hasOwnProperty.call(object, key);
};
function deepEquals(equals, deepObjects) {

@@ -17,7 +21,10 @@ function deep(valueA, valueB) {

}
for (var index = 0; index < valueA.length; index++) {
if (!deep(valueA[index], valueB[index])) {
return false;
}
// Check deep equality of each value in A against the same indexed value in B
if (!valueA.every(function (value, index) {
return deep(value, valueB[index]);
})) {
return false;
}
// could not find unequal items

@@ -31,4 +38,4 @@ return true;

if (typeof valueA === 'object') {
if (typeof valueB !== 'object') {
if ((typeof valueA === 'undefined' ? 'undefined' : _typeof(valueA)) === 'object') {
if ((typeof valueB === 'undefined' ? 'undefined' : _typeof(valueB)) !== 'object') {
return false;

@@ -50,8 +57,12 @@ }

for (var index = 0; index < aKeys.length; index++) {
var key = aKeys[index];
if (hasOwn.call(valueA, key) && (!hasOwn.call(valueB, key) || !(deepObjects ? deep : equals)(valueA[key], valueB[key]))) {
return false;
}
// Should we compare with shallow equivalence or deep equivalence?
var equalityChecker = deepObjects ? deep : equals;
// Check if objects share same keys, and each of those keys are equal
if (!aKeys.every(function (aKey) {
return hasOwn(valueA, aKey) && hasOwn(valueB, aKey) && equalityChecker(valueA[aKey], valueB[aKey]);
})) {
return false;
}
// could not find unequal keys or values

@@ -64,4 +75,2 @@ return true;

return deep;
}
module.exports = exports['default'];
}

@@ -5,4 +5,2 @@ 'use strict';

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _memoize = require('./memoize');

@@ -12,3 +10,4 @@

exports['default'] = _memoize2['default'];
module.exports = exports['default'];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _memoize2.default;
"use strict";
exports.__esModule = true;
exports["default"] = lruCache;
exports.default = lruCache;
function lruCache(limit, equals) {

@@ -10,13 +9,21 @@ var entries = [];

function get(key) {
for (var index = 0; index < entries.length; index++) {
var entry = entries[index];
if (equals(key, entry.key)) {
if (index > 0) {
// move this entry to the top of the cache
entries.splice(index, 1);
entries.unshift(entry);
}
return entry.value;
var cacheIndex = entries.findIndex(function (entry) {
return equals(key, entry.key);
});
// We found a cached entry
if (cacheIndex > -1) {
var entry = entries[cacheIndex];
// Cached entry not at top of cache, move it to the top
if (cacheIndex > 0) {
entries.slice(cacheIndex, 1);
entries.unshift(entry);
}
return entry.value;
}
// No entry found in cache, return null
return undefined;
}

@@ -34,4 +41,2 @@

return { get: get, put: put };
}
module.exports = exports["default"];
}
'use strict';
exports.__esModule = true;
exports['default'] = memoize;
exports.default = memoize;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _deepEquals = require('./deepEquals');
var _singletonCache = require('./singletonCache');
var _deepEquals2 = _interopRequireDefault(_deepEquals);
var _singletonCache2 = _interopRequireDefault(_singletonCache);
var _lruCache = require('./lruCache');

@@ -16,10 +14,35 @@

var _deepEquals = require('./deepEquals');
var _singletonCache = require('./singletonCache');
var _deepEquals2 = _interopRequireDefault(_deepEquals);
var _singletonCache2 = _interopRequireDefault(_singletonCache);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createCache(limit, equals) {
return limit === 1 ? _singletonCache2['default'](equals) : _lruCache2['default'](limit, equals);
return limit === 1 ? (0, _singletonCache2.default)(equals) : (0, _lruCache2.default)(limit, equals);
}
function createEqualsFn(basicEquals, deepObjects) {
// Choose strategy for basic or deep object equals
var equals = deepObjects ? (0, _deepEquals2.default)(basicEquals, deepObjects) : basicEquals;
return function (valueA, valueB) {
// The arguments are always the argument array-like objects
// Different lengths means they are not the same
if (valueA.length !== valueB.length) {
return false;
}
// Compare the values
for (var index = 0; index < valueA.length; index += 1) {
if (!equals(valueA[index], valueB[index])) {
return false;
}
}
// Found no conflicts
return true;
};
}
function memoize() {

@@ -41,2 +64,5 @@ var limit = 1;

equals = config.shift();
} else if (typeof config[0] === 'undefined') {
// Support passing undefined equal argument;
config.shift();
}

@@ -47,3 +73,3 @@ if (typeof config[0] === 'boolean') {

var cache = createCache(limit, _deepEquals2['default'](equals, deepObjects));
var cache = createCache(limit, createEqualsFn(equals, deepObjects));

@@ -64,4 +90,2 @@ return function (fn) {

};
}
module.exports = exports['default'];
}
"use strict";
exports.__esModule = true;
exports["default"] = singletonCache;
exports.default = singletonCache;
function singletonCache(equals) {
var entry = undefined;
var entry = void 0;
return {

@@ -14,3 +13,2 @@ get: function get(key) {

},
put: function put(key, value) {

@@ -20,4 +18,2 @@ entry = { key: key, value: value };

};
}
module.exports = exports["default"];
}
{
"name": "lru-memoize",
"version": "1.0.1",
"version": "1.0.2",
"description": "A utility to provide lru memoization for any js function",

@@ -18,3 +18,5 @@ "main": "./lib/index.js",

"prepublish": "npm run lint && npm run test && npm run clean && npm run build",
"test": "mocha --compilers js:babel/register --recursive"
"test": "mocha --compilers js:babel-register --recursive \"src/**/__tests__/*\"",
"test:cov": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text npm test",
"test:codecov": "cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js"
},

@@ -35,15 +37,23 @@ "keywords": [

"devDependencies": {
"babel": "^5.8.23",
"babel-core": "^5.8.25",
"babel-eslint": "^4.1.6",
"babel-loader": "^5.3.2",
"eslint": "^1.10.3",
"eslint-config-airbnb": "0.1.0",
"eslint-plugin-react": "^3.13.1",
"expect": "^1.13.4",
"mocha": "^2.3.4",
"rifraf": "^2.0.2",
"rimraf": "^2.5.0",
"webpack": "^1.12.9"
"babel-cli": "^6.24.1",
"babel-core": "^6.24.1",
"babel-eslint": "^7.2.2",
"babel-loader": "^6.4.1",
"babel-preset-es2015": "^6.24.1",
"babel-register": "^6.24.1",
"codecov.io": "^0.1.6",
"cross-env": "^4.0.0",
"eslint": "^3.19.0",
"eslint-config-react-app": "^0.6.2",
"eslint-plugin-flowtype": "^2.30.4",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jsx-a11y": "^4.0.0",
"eslint-plugin-react": "^6.10.3",
"expect": "^1.20.2",
"mocha": "^3.2.0",
"nyc": "^10.2.0",
"rifraf": "^2.0.3",
"rimraf": "^2.6.1",
"webpack": "^2.4.1"
}
}

@@ -1,2 +0,2 @@

#lru-memoize
# lru-memoize

@@ -47,17 +47,17 @@ [![NPM Version](https://img.shields.io/npm/v/lru-memoize.svg?style=flat-square)](https://www.npmjs.com/package/lru-memoize)

### `memoize(limit:Integer?, equals:Function?, deepObjects:Boolean?)`
#### `memoize(limit:Integer?, equals:Function?, deepObjects:Boolean?)`
Returns `(Function) => Function`.
##### -`limit` : Integer [optional]
###### -`limit` : Integer [optional]
> The number of `arguments -> value` mappings to keep in memory. Defaults to `1`.
##### -`equals` : Function [optional]
###### -`equals` : Function [optional]
> A function to compare two values for equality. Defaults to `===`.
##### -`deepObjects` : Boolean [optional]
###### -`deepObjects` : Boolean [optional]
> Whether or not to perform a deep equals on Object values. Defaults to `false`.
'use strict';
var webpack = require('webpack');
var reactExternal = {
root: 'React',
commonjs2: 'react',
commonjs: 'react',
amd: 'react'
};
module.exports = {
externals: {
'react': reactExternal
},
module: {
loaders: [
{ test: /\.js$/, loaders: ['babel-loader'], exclude: /node_modules/ }
rules: [
{ test: /\.js$/, use: ['babel-loader'], exclude: /node_modules/ }
]

@@ -25,4 +15,4 @@ },

resolve: {
extensions: ['', '.js']
extensions: ['.js']
}
};

@@ -8,3 +8,2 @@ 'use strict';

config.plugins = [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({

@@ -11,0 +10,0 @@ 'process.env.NODE_ENV': JSON.stringify('development')

@@ -8,3 +8,2 @@ 'use strict';

config.plugins = [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({

@@ -11,0 +10,0 @@ 'process.env.NODE_ENV': JSON.stringify('production')

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc