/
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
@pm2
/
io
/
node_modules
/
async
/
/usr/local/lib/node_modules/pm2/node_modules/@pm2/io/node_modules/async
mkdir
upload
Name
Size
Mode
Actions
dist/
-
0755
rm
internal/
-
0755
rm
all.js
1680
0644
edit
dl
rm
allLimit.js
1545
0644
edit
dl
rm
allSeries.js
1275
0644
edit
dl
rm
any.js
1758
0644
edit
dl
rm
anyLimit.js
1592
0644
edit
dl
rm
anySeries.js
1314
0644
edit
dl
rm
apply.js
1843
0644
edit
dl
rm
applyEach.js
1779
0644
edit
dl
rm
applyEachSeries.js
1285
0644
edit
dl
rm
asyncify.js
3500
0644
edit
dl
rm
auto.js
9844
0644
edit
dl
rm
autoInject.js
6481
0644
edit
dl
rm
bower.json
245
0644
edit
dl
rm
cargo.js
4651
0644
edit
dl
rm
CHANGELOG.md
29340
0644
edit
dl
rm
compose.js
1561
0644
edit
dl
rm
concat.js
1588
0644
edit
dl
rm
concatLimit.js
2162
0644
edit
dl
rm
concatSeries.js
1272
0644
edit
dl
rm
constant.js
1760
0644
edit
dl
rm
detect.js
2208
0644
edit
dl
rm
detectLimit.js
1760
0644
edit
dl
rm
detectSeries.js
1353
0644
edit
dl
rm
dir.js
1294
0644
edit
dl
rm
doDuring.js
2183
0644
edit
dl
rm
doUntil.js
1374
0644
edit
dl
rm
doWhilst.js
2064
0644
edit
dl
rm
during.js
2201
0644
edit
dl
rm
each.js
2836
0644
edit
dl
rm
eachLimit.js
1568
0644
edit
dl
rm
eachOf.js
3368
0644
edit
dl
rm
eachOfLimit.js
1418
0644
edit
dl
rm
eachOfSeries.js
1137
0644
edit
dl
rm
eachSeries.js
1206
0644
edit
dl
rm
ensureAsync.js
2515
0644
edit
dl
rm
every.js
1680
0644
edit
dl
rm
everyLimit.js
1545
0644
edit
dl
rm
everySeries.js
1275
0644
edit
dl
rm
filter.js
1524
0644
edit
dl
rm
filterLimit.js
1344
0644
edit
dl
rm
filterSeries.js
1236
0644
edit
dl
rm
find.js
2208
0644
edit
dl
rm
findLimit.js
1760
0644
edit
dl
rm
findSeries.js
1353
0644
edit
dl
rm
foldl.js
2676
0644
edit
dl
rm
foldr.js
1536
0644
edit
dl
rm
forEach.js
2836
0644
edit
dl
rm
forEachLimit.js
1568
0644
edit
dl
rm
forEachOf.js
3368
0644
edit
dl
rm
forEachOfLimit.js
1418
0644
edit
dl
rm
forEachOfSeries.js
1137
0644
edit
dl
rm
forEachSeries.js
1206
0644
edit
dl
rm
forever.js
1941
0644
edit
dl
rm
groupBy.js
2131
0644
edit
dl
rm
groupByLimit.js
2379
0644
edit
dl
rm
groupBySeries.js
1347
0644
edit
dl
rm
index.js
19503
0644
edit
dl
rm
inject.js
2676
0644
edit
dl
rm
LICENSE
1063
0644
edit
dl
rm
log.js
1194
0644
edit
dl
rm
map.js
2081
0644
edit
dl
rm
mapLimit.js
1314
0644
edit
dl
rm
mapSeries.js
1209
0644
edit
dl
rm
mapValues.js
2241
0644
edit
dl
rm
mapValuesLimit.js
2037
0644
edit
dl
rm
mapValuesSeries.js
1328
0644
edit
dl
rm
memoize.js
3232
0644
edit
dl
rm
nextTick.js
1447
0644
edit
dl
rm
package.json
2412
0644
edit
dl
rm
parallel.js
3100
0644
edit
dl
rm
parallelLimit.js
1422
0644
edit
dl
rm
priorityQueue.js
3104
0644
edit
dl
rm
queue.js
5855
0644
edit
dl
rm
race.js
2162
0644
edit
dl
rm
README.md
2536
0644
edit
dl
rm
reduce.js
2676
0644
edit
dl
rm
reduceRight.js
1536
0644
edit
dl
rm
reflect.js
2379
0644
edit
dl
rm
reflectAll.js
2795
0644
edit
dl
rm
reject.js
1448
0644
edit
dl
rm
rejectLimit.js
1266
0644
edit
dl
rm
rejectSeries.js
1158
0644
edit
dl
rm
retry.js
5435
0644
edit
dl
rm
retryable.js
2025
0644
edit
dl
rm
select.js
1524
0644
edit
dl
rm
selectLimit.js
1344
0644
edit
dl
rm
selectSeries.js
1236
0644
edit
dl
rm
seq.js
2986
0644
edit
dl
rm
series.js
2937
0644
edit
dl
rm
setImmediate.js
1389
0644
edit
dl
rm
some.js
1758
0644
edit
dl
rm
someLimit.js
1592
0644
edit
dl
rm
someSeries.js
1314
0644
edit
dl
rm
sortBy.js
2829
0644
edit
dl
rm
timeout.js
2776
0644
edit
dl
rm
times.js
1459
0644
edit
dl
rm
timesLimit.js
1393
0644
edit
dl
rm
timesSeries.js
1021
0644
edit
dl
rm
transform.js
2715
0644
edit
dl
rm
tryEach.js
2560
0644
edit
dl
rm
unmemoize.js
681
0644
edit
dl
rm
until.js
1446
0644
edit
dl
rm
waterfall.js
3343
0644
edit
dl
rm
whilst.js
2191
0644
edit
dl
rm
wrapSync.js
3500
0644
edit
dl
rm
Edit:
/usr/local/lib/node_modules/pm2/node_modules/@pm2/io/node_modules/async/autoInject.js
(6481B)
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = autoInject; var _auto = require('./auto'); var _auto2 = _interopRequireDefault(_auto); var _baseForOwn = require('lodash/_baseForOwn'); var _baseForOwn2 = _interopRequireDefault(_baseForOwn); var _arrayMap = require('lodash/_arrayMap'); var _arrayMap2 = _interopRequireDefault(_arrayMap); var _isArray = require('lodash/isArray'); var _isArray2 = _interopRequireDefault(_isArray); var _trim = require('lodash/trim'); var _trim2 = _interopRequireDefault(_trim); var _wrapAsync = require('./internal/wrapAsync'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FN_ARGS = /^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m; var FN_ARG_SPLIT = /,/; var FN_ARG = /(=.+)?(\s*)$/; var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; function parseParams(func) { func = func.toString().replace(STRIP_COMMENTS, ''); func = func.match(FN_ARGS)[2].replace(' ', ''); func = func ? func.split(FN_ARG_SPLIT) : []; func = func.map(function (arg) { return (0, _trim2.default)(arg.replace(FN_ARG, '')); }); return func; } /** * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent * tasks are specified as parameters to the function, after the usual callback * parameter, with the parameter names matching the names of the tasks it * depends on. This can provide even more readable task graphs which can be * easier to maintain. * * If a final callback is specified, the task results are similarly injected, * specified as named parameters after the initial error parameter. * * The autoInject function is purely syntactic sugar and its semantics are * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}. * * @name autoInject * @static * @memberOf module:ControlFlow * @method * @see [async.auto]{@link module:ControlFlow.auto} * @category Control Flow * @param {Object} tasks - An object, each of whose properties is an {@link AsyncFunction} of * the form 'func([dependencies...], callback). The object's key of a property * serves as the name of the task defined by that property, i.e. can be used * when specifying requirements for other tasks. * * The `callback` parameter is a `callback(err, result)` which must be called * when finished, passing an `error` (which can be `null`) and the result of * the function's execution. The remaining parameters name other tasks on * which the task is dependent, and the results from those tasks are the * arguments of those parameters. * @param {Function} [callback] - An optional callback which is called when all * the tasks have been completed. It receives the `err` argument if any `tasks` * pass an error to their callback, and a `results` object with any completed * task results, similar to `auto`. * @example * * // The example from `auto` can be rewritten as follows: * async.autoInject({ * get_data: function(callback) { * // async code to get some data * callback(null, 'data', 'converted to array'); * }, * make_folder: function(callback) { * // async code to create a directory to store a file in * // this is run at the same time as getting the data * callback(null, 'folder'); * }, * write_file: function(get_data, make_folder, callback) { * // once there is some data and the directory exists, * // write the data to a file in the directory * callback(null, 'filename'); * }, * email_link: function(write_file, callback) { * // once the file is written let's email a link to it... * // write_file contains the filename returned by write_file. * callback(null, {'file':write_file, 'email':'user@example.com'}); * } * }, function(err, results) { * console.log('err = ', err); * console.log('email_link = ', results.email_link); * }); * * // If you are using a JS minifier that mangles parameter names, `autoInject` * // will not work with plain functions, since the parameter names will be * // collapsed to a single letter identifier. To work around this, you can * // explicitly specify the names of the parameters your task function needs * // in an array, similar to Angular.js dependency injection. * * // This still has an advantage over plain `auto`, since the results a task * // depends on are still spread into arguments. * async.autoInject({ * //... * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) { * callback(null, 'filename'); * }], * email_link: ['write_file', function(write_file, callback) { * callback(null, {'file':write_file, 'email':'user@example.com'}); * }] * //... * }, function(err, results) { * console.log('err = ', err); * console.log('email_link = ', results.email_link); * }); */ function autoInject(tasks, callback) { var newTasks = {}; (0, _baseForOwn2.default)(tasks, function (taskFn, key) { var params; var fnIsAsync = (0, _wrapAsync.isAsync)(taskFn); var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0; if ((0, _isArray2.default)(taskFn)) { params = taskFn.slice(0, -1); taskFn = taskFn[taskFn.length - 1]; newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); } else if (hasNoDeps) { // no dependencies, use the function as-is newTasks[key] = taskFn; } else { params = parseParams(taskFn); if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { throw new Error("autoInject task functions require explicit parameters."); } // remove callback param if (!fnIsAsync) params.pop(); newTasks[key] = params.concat(newTask); } function newTask(results, taskCb) { var newArgs = (0, _arrayMap2.default)(params, function (name) { return results[name]; }); newArgs.push(taskCb); (0, _wrapAsync2.default)(taskFn).apply(null, newArgs); } }); (0, _auto2.default)(newTasks, callback); } module.exports = exports['default'];
Save
cmd:
run