/usr/local/lib/node_modules/pm2/node_modules/async
NameSizeModeActions
dist/-0755rm
internal/-0755rm
all.js35590644editdlrm
allLimit.js17510644editdlrm
allSeries.js16450644editdlrm
any.js38030644editdlrm
anyLimit.js17860644editdlrm
anySeries.js16800644editdlrm
apply.js2170644editdlrm
applyEach.js19880644editdlrm
applyEachSeries.js13020644editdlrm
asyncify.js37620644editdlrm
auto.js118530644editdlrm
autoInject.js70990644editdlrm
bower.json2390644editdlrm
cargo.js27460644editdlrm
cargoQueue.js33520644editdlrm
CHANGELOG.md334810644editdlrm
compose.js15650644editdlrm
concat.js36520644editdlrm
concatLimit.js20930644editdlrm
concatSeries.js14740644editdlrm
constant.js3020644editdlrm
detect.js32490644editdlrm
detectLimit.js18350644editdlrm
detectSeries.js17410644editdlrm
dir.js12960644editdlrm
doDuring.js23000644editdlrm
doUntil.js17030644editdlrm
doWhilst.js23000644editdlrm
during.js23380644editdlrm
each.js40250644editdlrm
eachLimit.js17900644editdlrm
eachOf.js57430644editdlrm
eachOfLimit.js16380644editdlrm
eachOfSeries.js13300644editdlrm
eachSeries.js15760644editdlrm
ensureAsync.js23110644editdlrm
every.js35590644editdlrm
everyLimit.js17510644editdlrm
everySeries.js16450644editdlrm
filter.js28980644editdlrm
filterLimit.js16550644editdlrm
filterSeries.js15470644editdlrm
find.js32490644editdlrm
findLimit.js18350644editdlrm
findSeries.js17410644editdlrm
flatMap.js36520644editdlrm
flatMapLimit.js20930644editdlrm
flatMapSeries.js14740644editdlrm
foldl.js48780644editdlrm
foldr.js15010644editdlrm
forEach.js40250644editdlrm
forEachLimit.js17900644editdlrm
forEachOf.js57430644editdlrm
forEachOfLimit.js16380644editdlrm
forEachOfSeries.js13300644editdlrm
forEachSeries.js15760644editdlrm
forever.js21180644editdlrm
groupBy.js35980644editdlrm
groupByLimit.js24460644editdlrm
groupBySeries.js13310644editdlrm
index.js199400644editdlrm
inject.js48780644editdlrm
LICENSE10630644editdlrm
log.js11960644editdlrm
map.js45960644editdlrm
mapLimit.js16200644editdlrm
mapSeries.js15150644editdlrm
mapValues.js45900644editdlrm
mapValuesLimit.js21170644editdlrm
mapValuesSeries.js13780644editdlrm
memoize.js30700644editdlrm
nextTick.js14750644editdlrm
package.json22030644editdlrm
parallel.js55740644editdlrm
parallelLimit.js15110644editdlrm
priorityQueue.js14420644editdlrm
queue.js6260644editdlrm
race.js21320644editdlrm
README.md32170644editdlrm
reduce.js48780644editdlrm
reduceRight.js15010644editdlrm
reflect.js22660644editdlrm
reflectAll.js24490644editdlrm
reject.js26760644editdlrm
rejectLimit.js15780644editdlrm
rejectSeries.js14700644editdlrm
retry.js55240644editdlrm
retryable.js25350644editdlrm
select.js28980644editdlrm
selectLimit.js16550644editdlrm
selectSeries.js15470644editdlrm
seq.js26530644editdlrm
series.js58230644editdlrm
setImmediate.js13910644editdlrm
some.js38030644editdlrm
someLimit.js17860644editdlrm
someSeries.js16800644editdlrm
sortBy.js62100644editdlrm
timeout.js27550644editdlrm
times.js14870644editdlrm
timesLimit.js14510644editdlrm
timesSeries.js10610644editdlrm
transform.js55630644editdlrm
tryEach.js25400644editdlrm
unmemoize.js6650644editdlrm
until.js20800644editdlrm
waterfall.js32030644editdlrm
whilst.js23380644editdlrm
wrapSync.js37620644editdlrm
Edit: /usr/local/lib/node_modules/pm2/node_modules/async/memoize.js (3070B)
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = memoize; var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Caches the results of an async function. When creating a hash to store * function results against, the callback is omitted from the hash and an * optional hash function can be used. * * **Note: if the async function errs, the result will not be cached and * subsequent calls will call the wrapped function.** * * If no hash function is specified, the first argument is used as a hash key, * which may work reasonably if it is a string or a data type that converts to a * distinct string. Note that objects and arrays will not behave reasonably. * Neither will cases where the other arguments are significant. In such cases, * specify your own hash function. * * The cache of results is exposed as the `memo` property of the function * returned by `memoize`. * * @name memoize * @static * @memberOf module:Utils * @method * @category Util * @param {AsyncFunction} fn - The async function to proxy and cache results from. * @param {Function} hasher - An optional function for generating a custom hash * for storing results. It has all the arguments applied to it apart from the * callback, and must be synchronous. * @returns {AsyncFunction} a memoized version of `fn` * @example * * var slow_fn = function(name, callback) { * // do something * callback(null, result); * }; * var fn = async.memoize(slow_fn); * * // fn can now be used as if it were slow_fn * fn('some name', function() { * // callback * }); */ function memoize(fn, hasher = v => v) { var memo = Object.create(null); var queues = Object.create(null); var _fn = (0, _wrapAsync2.default)(fn); var memoized = (0, _initialParams2.default)((args, callback) => { var key = hasher(...args); if (key in memo) { (0, _setImmediate2.default)(() => callback(null, ...memo[key])); } else if (key in queues) { queues[key].push(callback); } else { queues[key] = [callback]; _fn(...args, (err, ...resultArgs) => { // #1465 don't memoize if an error occurred if (!err) { memo[key] = resultArgs; } var q = queues[key]; delete queues[key]; for (var i = 0, l = q.length; i < l; i++) { q[i](err, ...resultArgs); } }); } }); memoized.memo = memo; memoized.unmemoized = fn; return memoized; } module.exports = exports.default;