Sha256: 1da7277242b79f0e2fb5261b5fb8bfe1363b6a167e1c196ffe34c7f01cc71a5e

Contents?: true

Size: 633 Bytes

Versions: 273

Compression:

Stored size: 633 Bytes

Contents

var memoize = require('./memoize');

/** Used as the maximum memoize cache size. */
var MAX_MEMOIZE_SIZE = 500;

/**
 * A specialized version of `_.memoize` which clears the memoized function's
 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
 *
 * @private
 * @param {Function} func The function to have its output memoized.
 * @returns {Function} Returns the new memoized function.
 */
function memoizeCapped(func) {
  var result = memoize(func, function(key) {
    if (cache.size === MAX_MEMOIZE_SIZE) {
      cache.clear();
    }
    return key;
  });

  var cache = result.cache;
  return result;
}

module.exports = memoizeCapped;

Version data entries

273 entries across 271 versions & 29 rubygems

Version Path
sumomo-0.7.3 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.7.2 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.7.1 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.6.4 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.6.3 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.6.2 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
sumomo-0.6.1 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
affiliator-0.2.1 node_modules/lodash/_memoizeCapped.js
sumomo-0.6.0 data/sumomo/api_modules/node_modules/lodash/_memoizeCapped.js
guard-sass-lint-0.1.2 node_modules/lodash/_memoizeCapped.js
guard-sass-lint-0.1.1 node_modules/lodash/_memoizeCapped.js
lanes-0.8.0 node_modules/globule/node_modules/lodash/_memoizeCapped.js
lanes-0.8.0 node_modules/lodash/_memoizeCapped.js